91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python的基本數據類型有哪些及怎么使用

發布時間:2022-10-11 11:19:33 來源:億速云 閱讀:113 作者:iii 欄目:web開發

本文小編為大家詳細介紹“Python的基本數據類型有哪些及怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python的基本數據類型有哪些及怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

第一部分 數字類型

1.1 數字類型的組成

1.1.1 整數——不同進制的轉換
  • 默認輸入十進制

  • 二進制0b、八進制0o、十六進制0x

16 == 0b10000 == 0o20 == 0x10
True
  • 十進制與其他進制的轉換

a = bin(16)   # 轉二進制
b = oct(16)   # 轉八進制
c = hex(16)   # 轉十六進制
print(a, b, c)
0b10000 0o20 0x10

注意:上述轉換后結果為字符串類型,因此如果進行相等比較的話,輸出的是False結果

a == b == c
False
type(a)
str
  • 其他進制轉十進制

d = int(a, 2)      # 二進制轉十進制
e = int(b, 8)      # 八進制轉十進制
f = int(c, 16)     # 十六進制轉十進制
print(d, e, f)
16 16 16
1.1.2 浮點數——不確定性
  • 不確定小數問題

(0.1+0.2) == 0.3
False
0.1+0.2
0.30000000000000004

計算機采用二進制小數來表示浮點數的小數部分

  • 原因:部分小數不能用二進制小數完全表示

二進制                  十進制

0.00011001100110011001   0.09999942779541016 0.0011001100110011      0.1999969482421875 0.01001100110011001     0.29999542236328125 0.01100110011001101     0.40000152587890625 0.1     ===       ===         0.5

  • 通常情況下不會影響計算精度

0.1 + 0.7
0.7999999999999999
  • 四舍五入獲得精確解

  • 可以采用四舍五入的方式解決:round(parameter, 保留小數位數)

a = 3*0.1
print(a)
0.30000000000000004
b = round(a, 1)
print(b)
b == 0.3
0.3



True
1.1.3 復數——a+bj
  • 大寫J或小寫j均可

3+4j
2+5J
(2+5j)
  • 虛部系數為1時,需要顯式寫出

2+1j

1.2 數字運算操作符(a 操作符 b)

  • 加減乘除運算    +   -   /   *

(1+3-4*2)/5
-0.8
  • 取反 -

x = 1
-x
-1
  • 乘方運算**

2**3
8
  • 整數商//和模運算%

13//5    # 整數商    x/y 向下取整數
2
13 % 5   # 模運算    余數 13=2*5+3

幾點說明

  • 整數與浮點數運算結果是浮點數

  • 除法運算的結果是浮點數

1+1.5
2.5
2/5
0.4
8/4
2.0

1.3 數字運算操作函數function(x, ...)

  • 求絕對值 abs()

abs(-5)
5
abs(3+4j)  # 對復數a+bj 執行的是求模運算(a^2+b^2)^0.5
5.0
  • 冪次方 pow(x,n)

  • 冪次方取模 pow(x,n,m)

pow(2, 5)  # pow(x,n) x的n次方  等價于x**n
32
pow(2, 5, 3) # 2^5 % 3  更快速
2
  • 四舍五入 round(x,n)

a = 1.618
print(round(a))      # 默認四舍五入為整數
2
print(round(a, 2))   # 參數2表示四舍五入后保留2位小數
1.62
print(round(a, 5))   # 位數不足,無需補齊
1.618
  • 整數商和模運算 divmod(x,y)

等價于返回二元元組(x//y,x % y)

divmod(13, 5)   # 較(x//y,x % y)更快,只執行了一次x/y
(2, 3)
  • 序列最大/最小值 max( )   min( )

max(3, 2, 3, 6, 9, 4, 5)
9
a = [3, 2, 3, 6, 9, 4, 5]
print("max:", max(a))
print("min:", min(a))
max: 9
min: 2
  • 求和sum(x)

注意:sum里面需要填入一個序列數據

sum((1, 2, 3, 4, 5))
15
  • 借助科學計算庫 math\scipy\numpy

import math   # 導入庫
print(math.exp(1))   # 指數運算 e^x
print(math.log2(2))  # 對數運算
print(math.sqrt(4))  # 開平方運算  等價于4^0.5
2.718281828459045
1.0
2.0
import numpy as np
a = [1, 2, 3, 4, 5]
print(np.mean(a))    # 求均值
print(np.median(a))  # 求中位數
print(np.std(a))     # 求標準差
3.0
3.0
1.4142135623730951

第二部分 字符串類型

2.1 字符串的表達

  • 用""或''括起來的任意字符

print("Python")
print('Python')
Python
Python
  • 字符串中有雙引號或單引號的情況

雙中有單

print("I'm 18 years old")
I'm 18 years old

單中有雙

print('"Python" is good')
"Python" is good

雙中有雙,單中有單——轉義符   \

# print(""Python" is good")
print("\"Python\" is good")  # \ 字符
"Python" is good

轉義符可以用來換行繼續輸入

s = "py\
thon"                    
print(s)
python

2.2 字符串的性質

2.2.1 字符串的索引
s = "My name is Peppa Pig"

變量名[位置編號]

  • 正向索引——從零開始遞增

  • 位置編號不能超過字符串的長度

  • 空格也是一個位置

print(s[0])   
print(s[2])
print(s[5])
M
 
m
s = "My name is Peppa Pig"
  • 反向索引——從-1開始遞減

print(s[-1])
print(s[-3])
print(s[-5])
g
P
a

索引只能獲得一個字符,如何獲得多個字符?

2.2.2 字符串的切片

變量名[開始位置:結束位置:切片間隔]

  • 切片間隔如不設置默認為1,可省略

  • 切片范圍不包含結束位置(前閉后開)

s = "Python"
print(s[0:3:1])
Pyt
print(s[0:3])
Pyt
print(s[0:3:2])
Pt
  • 起始位置是0 可以省略

  • 結束位置省略,代表可以取到最后一個字符

  • 可以使用反向索引

s = "Python"
print(s[0:6])
Python
print(s[:6])
Python
print(s[:])
Python
print(s[-6:])
Python

反向切片

  • 起始位置是-1也可以省略

  • 結束位置省略,代表可以取到第一個字符

  • 關鍵點在于-1,代表前一個位置比后一個位置大-1

s = "123456789"
print(s[-1:-10:-1])
987654321
print(s[:-10:-1])
987654321
print(s[::-1])
987654321

2.3 字符串操作符

2.3.1 字符串的拼接
  • 字符串1+字符串2

a = "I love "
b = "my wife "
a+b
'I love my wife '
2.3.2 字符串的成倍復制
  • 字符串 * n   n * 字符串

c = a+b
print(c*3)
print(3*c)
I love my wife I love my wife I love my wife 
I love my wife I love my wife I love my wife
2.2.3 成員運算
  • 子集in全集   任何一個連續的切片都是原字符串的子集

folk_singers = "Peter, Paul and Mary"    
"Peter" in folk_singers
True
"PPM" in folk_singers
False
  • 遍歷字符串字符   for 字符 in 字符串

for s in "Python":
    print(s)
P
y
t
h
o
n

2.4 字符串處理函數

2.4.1 字符串的長度
  • 所含字符的個數

s = "python"
len(s)
6
2.4.2 字符編碼

將中文字庫,英文字母、數字、特殊字符等轉化成計算機可識別的二進制數

  • 每個單一字符對應一個唯一的互不重復的二進制編碼

  • Python 中使用的是Unicode編碼

將字符轉化為Unicode碼——ord(字符)

print(ord("1"))
print(ord("a"))
print(ord("*"))
print(ord("中"))
print(ord("國"))
49
97
42
20013
22269

將Unicode碼轉化為字符——chr(Unicode碼)

print(chr(1010))
print(chr(10000))
print(chr(12345))
print(chr(23456))
?
?
?
寵

2.5 字符串的處理方法

2.5.1 字符串的分割——字符串.split(分割字符)
  • 返回一個列表

  • 原字符串不變

上述特性適合以下所有字符串處理方法

languages = "Python C C++ Java PHP R"
languages_list = languages.split(" ")#括號里的參數就是我們希望對目標字符串進行分割的標記
print(languages_list)
print(languages)
['Python', 'C', 'C++', 'Java', 'PHP', 'R']
Python C C++ Java PHP R
2.5.2  字符串的聚合——“聚合字符”.join(可迭代數據類型)
  • 可迭代類型 如:字符串、列表

s = "12345"
s_join = ",".join(s) #把可迭代的對象每一個都取出來,相鄰兩個之間加上聚合字符
s_join
'1,2,3,4,5'
  • 序列類型的元素必須是字符類型

# s = [1, 2, 3, 4, 5] 無法使用聚合
s = ["1", "2", "3", "4", "5"]
"*".join(s)
'1*2*3*4*5'
3.5.3 刪除兩端特定字符——字符串.strip(刪除字符)
  • strip從兩側開始搜索,遇到指定字符執行刪除,遇到非指定字符,搜索停止

  • 類似的還有左刪除lstrip和右刪除rstrip

s = "      I have many blanks     "
print(s.strip(" "))                        #從兩端進行搜索,遇到指定字符后刪除空格,然后停止
print(s.lstrip(" "))
print(s.rstrip(" "))
print(s)
I have many blanks
I have many blanks     
      I have many blanks
      I have many blanks
3.5.4 字符串的替換——字符串.replace("被替換","替換成")
s = "Python is coming"
s1 = s.replace("Python","Py")
print(s1)
Py is coming
3.5.5 字符串統計——字符串.count("待統計字符串")
s = "Python is an excellent language"
print("an:", s.count("an"))
print("e:", s.count("e"))
an: 2
e: 4
3.3.6 字符串字母大小寫
  • 字符串.upper() 字母全部大寫

s = "Python"
s.upper()
'PYTHON'
  • 字符串.lower() 字母全部小寫

print(s.lower())
print(s)
python
Python
  • 字符串.title()首字母大寫

s.title()
'Python'

第三部分 布爾類型TRUEorFalse

3.1 邏輯運算的結果

a = 10
print(a > 8)
print(a == 12)
print(a < 5)
True
False
False
  • any() 數據有一個是非零就為True

  • all() 數據有一個是零就為False (元素都是非零的)

print(any([False,1,0,None]))   # 0 False None 都是無
print(all([False,1,0,None]))
True
False

3.2 指示條件

n = 2800
while True:
    m = eval("請輸入一個正整數:"))
    if m == n:
        print("正確")
        break
    elif m > n:
        print("太大了")
    else:
        print("太小了")
請輸入一個正整數:280
太小了
請輸入一個正整數:2800
正確

3.3 作為numpy數組的掩碼

import numpy as np
x = np.array([[1, 3, 2, 5, 7]])   # 定義 numpy數組
print(x > 3)
x[x > 3]
[[False False False  True  True]]

array([5, 7])

第四部分 類型判別及類型轉換

4.1 類型判別

  • type(變量)

age = 20
name = "Ada"
print(type(age))
print(type(name))
<class 'int'>
<class 'str'>
  • isinstance(變量,預判類型)&ensp;承認繼承

  • 變量類型是預判類型的子類型,則為真,否則為假

print(isinstance(age, int))        # 承認繼承 這里的int就相當于是一個類
True
print(isinstance(age, object))
print(isinstance(name, object))    # object 是所有類的老祖宗
True
True
  • 字符串檢查方法

字符串.isdigit()字符是否只有數字組成

age = "20"
name = "Ada"
age.isdigit()
True
name.isdigit()
False

字符串.isalpha()字符是否只有字母組成

name.isalpha()
True
age.isalpha()
False

字符串.isalnum()字符是否只有數字和字母組成

"Ada20".isalnum()    # 比如可用于判斷用戶名是否合法
True

4.2 類型轉換

  • 數字類型轉字符串&ensp; str(數字類型)

age = 20
print("My age is "+str(age))
My age is 20
  • 僅有數字組成的字符串轉數字&ensp; int()&ensp; float()&ensp; eval(232, 232, 232); background: rgb(249, 249, 249);">

    s1 = "20"
    s2 = "10.1"
int(s1)     # 僅整型
# int(s2) 會錯誤
20
float(s1)
20.0
float(s2)
10.1
eval(232, 232, 232); background: rgb(249, 249, 249);">20
eval(232, 232, 232); background: rgb(249, 249, 249);">10.1

讀到這里,這篇“Python的基本數據類型有哪些及怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛隆县| 辽宁省| 磴口县| 元阳县| 威信县| 亚东县| 余庆县| 盐城市| 丰镇市| 重庆市| 邵东县| 广饶县| 精河县| 黑河市| 镇巴县| 卢龙县| 永定县| 公安县| 泸溪县| 桂东县| 稻城县| 同心县| 堆龙德庆县| 区。| 哈密市| 苗栗县| 阿拉尔市| 湟源县| 三台县| 宿州市| 沁源县| 弥勒县| 泌阳县| 高邑县| 沈丘县| 新竹市| 江安县| 河北省| 崇阳县| 喀什市| 建湖县|