您好,登錄后才能下訂單哦!
這篇“Python中基本數(shù)據(jù)類型和常用語(yǔ)法有哪些”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Python中基本數(shù)據(jù)類型和常用語(yǔ)法有哪些”文章吧。
在Python中,整數(shù)(integer)是一種內(nèi)置數(shù)據(jù)類型,用于表示整數(shù)值。Python中的整數(shù)類型可以表示任意大小的整數(shù),而不需要考慮計(jì)算機(jī)字長(zhǎng)的限制。這是因?yàn)镻ython會(huì)自動(dòng)根據(jù)需要調(diào)整整數(shù)類型的位數(shù),以便可以存儲(chǔ)任意大小的整數(shù)。
以下是一些整數(shù)的示例:
x = 42 # 整數(shù)常量 y = -123 # 負(fù)整數(shù)常量 z = 0 # 零 #除法操作返回的結(jié)果可以是整數(shù)或浮點(diǎn)數(shù),具體取決于操作數(shù)的類型和結(jié)果。如果除法的操作數(shù)都是整數(shù),則結(jié)果為整數(shù),如果有一個(gè)操作數(shù)是浮點(diǎn)數(shù),則結(jié)果為浮點(diǎn)數(shù)。 x = 10 y = 3 print(x + y) # 輸出結(jié)果為13 print(x / y) # 輸出結(jié)果為3.3333333333333335 #在上面的示例中,我們定義了兩個(gè)整數(shù)x和y,然后對(duì)它們進(jìn)行了加法和除法操作,并打印了結(jié)果。注意,除法操作返回的結(jié)果是一個(gè)浮點(diǎn)數(shù),而不是整數(shù)。如果要將結(jié)果轉(zhuǎn)換為整數(shù),可以使用`int()`函數(shù)進(jìn)行轉(zhuǎn)換。例如: x = 10 y = 3 result = int(x / y) print(result) # 輸出結(jié)果為3
在Python中,對(duì)于大數(shù)字的表示,可以直接使用整型或者長(zhǎng)整型(long integer),不需要使用科學(xué)計(jì)數(shù)法。
在Python 2.x 中,整型的大小是有限制的,最大值是 2^31 - 1,如果需要表示更大的整數(shù),可以使用長(zhǎng)整型。長(zhǎng)整型在表示時(shí)不受大小限制,因?yàn)樗鼈兛梢宰詣?dòng)調(diào)整大小以適應(yīng)所需的精度??梢允褂?"L" 后綴將一個(gè)整數(shù)字面量標(biāo)記為長(zhǎng)整型,例如:12345678901234567890L。
在Python 3.x 中,整型已經(jīng)沒有大小限制,可以直接表示非常大的整數(shù),而且不需要使用長(zhǎng)整型。在Python 3.x 中,長(zhǎng)整型已經(jīng)被整合到普通的整型中,因此在表示大數(shù)字時(shí),不需要任何額外的標(biāo)記或語(yǔ)法。
例如,在Python中可以這樣表示一個(gè)非常大的整數(shù):
x = 123456789012345678901234567890
當(dāng)談到Python中的空值時(shí),我們可以將其看作是一個(gè)占位符,用于表示沒有值或空值。
在Python中,空值由一個(gè)內(nèi)置對(duì)象 None
表示,這個(gè)對(duì)象是特殊的,可以用作任何類型的占位符。當(dāng)變量未賦值或函數(shù)返回值需要一個(gè)占位符時(shí),我們通常使用None
來(lái)表示空值。以下是一個(gè)簡(jiǎn)單的示例,展示了如何使用None
:
x = None # 將變量x設(shè)置為None y = 10 # 將變量y設(shè)置為一個(gè)整數(shù)值 z = None # 將變量z設(shè)置為None if x is None: print("x is None") else: print("x is not None")
在上面的示例中,我們首先將變量x
和z
設(shè)置為None
。然后,我們使用is
運(yùn)算符檢查變量x
是否為None
。由于x
確實(shí)是None
,所以條件if x is None
成立,打印出"x is None"
。相反,如果變量x
包含任何其他值(例如整數(shù)值),則該條件將不成立。
需要注意的是,None
不同于空字符串或空列表??兆址硎緵]有字符,而空列表表示沒有元素。相比之下,None
是一個(gè)對(duì)象,它表示沒有值或空值。因此,在編寫Python代碼時(shí),應(yīng)該正確理解和使用None
,以避免混淆和錯(cuò)誤。
在Python中,浮點(diǎn)數(shù)是一種內(nèi)置數(shù)據(jù)類型,用于表示實(shí)數(shù)。與整數(shù)類型不同的是,浮點(diǎn)數(shù)是近似值,而不是精確值。這是因?yàn)镻ython采用了雙精度浮點(diǎn)數(shù)格式來(lái)表示浮點(diǎn)數(shù),這種格式可以表示非常大和非常小的數(shù)字,但是由于近似性和舍入誤差,會(huì)導(dǎo)致一些精度問題。因此,當(dāng)使用浮點(diǎn)數(shù)時(shí),需要注意舍入誤差和精度問題。
在Python中,可以使用小數(shù)點(diǎn)來(lái)表示浮點(diǎn)數(shù),也可以使用科學(xué)計(jì)數(shù)法。例如,下面是一些浮點(diǎn)數(shù)的示例:
x = 3.14159 # 浮點(diǎn)數(shù)常量 y = -0.0001 # 負(fù)浮點(diǎn)數(shù)常量 z = 2.0e-6 # 科學(xué)計(jì)數(shù)法表示的浮點(diǎn)數(shù)(0.000002) #Python中的浮點(diǎn)數(shù)可以執(zhí)行各種算術(shù)操作,如加法、減法、乘法和除法等。下面是一個(gè)簡(jiǎn)單的示例,計(jì)算三個(gè)浮點(diǎn)數(shù)之和: x = 0.1 y = 0.2 z = 0.3 print(x + y + z) # 輸出結(jié)果為0.6000000000000001 #Python中的浮點(diǎn)數(shù)可以執(zhí)行各種算術(shù)操作,如加法、減法、乘法和除法等。下面是一個(gè)簡(jiǎn)單的示例,計(jì)算三個(gè)浮點(diǎn)數(shù)之和: x = 0.1 y = 0.2 z = 0.3 print(x + y + z) # 輸出結(jié)果為0.6000000000000001 #在上面的示例中,我們計(jì)算三個(gè)浮點(diǎn)數(shù)之和,并打印結(jié)果。然而,輸出結(jié)果并不是期望的0.6,而是一個(gè)近似值0.6000000000000001。這是由于浮點(diǎn)數(shù)的近似性和舍入誤差導(dǎo)致的。為了避免這種問題,我們可以使用`round()`函數(shù)對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入,以便得到更精確的結(jié)果。例如: x = 0.1 y = 0.2 z = 0.3 result = round(x + y + z, 2) # 對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入,并保留兩位小數(shù) print(result) # 輸出結(jié)果為0.6
在上面的示例中,我們使用round()
函數(shù)對(duì)浮點(diǎn)數(shù)進(jìn)行四舍五入,并保留兩位小數(shù)。然后,我們打印結(jié)果,得到期望的0.6。
Python中的邏輯運(yùn)算符有三種:與運(yùn)算(and
)、或運(yùn)算(or
)和非運(yùn)算(not
)。這些邏輯運(yùn)算符可以用于布爾類型的值(True或False),也可以用于其他類型的值。
用法如下:
#1. 與運(yùn)算 #與運(yùn)算(`and`)用于判斷兩個(gè)條件是否都為True。如果兩個(gè)條件都為True,則返回True,否則返回False。以下是與運(yùn)算的一些示例: x = 5 y = 10 result = x < 10 and y > 5 print(result) # 輸出結(jié)果為True #在上面的示例中,我們使用與運(yùn)算符`and`判斷兩個(gè)條件是否都為True,并打印了結(jié)果 #2. 或運(yùn)算 #或運(yùn)算(`or`)用于判斷兩個(gè)條件中是否有至少一個(gè)為True。如果兩個(gè)條件都為False,則返回False,否則返回True。以下是或運(yùn)算的一些示例: x = 5 y = 10 result = x < 10 or y < 5 print(result) # 輸出結(jié)果為True #在上面的示例中,我們使用或運(yùn)算符`or`判斷兩個(gè)條件中是否有至少一個(gè)為True,并打印了結(jié)果。 #3. 非運(yùn)算 #非運(yùn)算(`not`)用于對(duì)一個(gè)條件進(jìn)行取反操作,如果條件為True,則返回False,如果條件為False,則返回True。以下是非運(yùn)算的一些示例: x = 5 result = not x > 10 print(result) # 輸出結(jié)果為True #在上面的示例中,我們使用非運(yùn)算符`not`對(duì)一個(gè)條件進(jìn)行取反操作,并打印了結(jié)果。 #總之,在Python中,邏輯運(yùn)算符可以用于布爾類型的值(True或False),也可以用于其他類型的值。這些邏輯運(yùn)算符包括與運(yùn)算(`and`)、或運(yùn)算(`or`)和非運(yùn)算(`not`),可以用于各種邏輯操作中。
因?yàn)橛?jì)算機(jī)是老外發(fā)明的,最初只能識(shí)別大小寫英文字母、數(shù)字和一些符號(hào),這些是通過 ASCII
編碼實(shí)現(xiàn)的,如下圖所示 B的編碼是 66,1的 編碼是 49;
隨著計(jì)算機(jī)和互聯(lián)網(wǎng)的發(fā)展,全球各個(gè)國(guó)家都要使用,ASCII
編碼顯然不足以表示中文等其他字符,這個(gè)過程中中國(guó)制定了 GB2312
, 韓國(guó)制定了 Euc-kr
等自己的編碼格式,為了防止沖突,后來(lái)誕生了 Unicode
字符集,它把所有的編碼都統(tǒng)一起來(lái),解決了編碼沖突導(dǎo)致的亂碼問題,后來(lái)又衍生出了更節(jié)約成本的 “可變長(zhǎng)編碼” UTF-8
編碼。
我們梳理下 ASCII
, Unicode
, UTF-8
的區(qū)別:
ASCII、Unicode
和 UTF-8
都是字符編碼的標(biāo)準(zhǔn),用于將字符轉(zhuǎn)換為二進(jìn)制數(shù)字以便計(jì)算機(jī)處理。它們之間的主要區(qū)別在于編碼的方式和能夠表示的字符集。
ASCII
是一種最早的字符編碼標(biāo)準(zhǔn),它定義了 128 個(gè)字符,包括英文字母、數(shù)字和一些標(biāo)點(diǎn)符號(hào)等基本符號(hào)。ASCII采用7位二進(jìn)制編碼表示字符,可以表示的字符范圍是 0-127。
Unicode
是一種用于表示字符集的標(biāo)準(zhǔn),它定義了世界上幾乎所有的字符集,包括中文、日文、韓文等各種語(yǔ)言的字符。Unicode使用32位二進(jìn)制編碼表示字符,可以表示的字符范圍非常廣泛,包括標(biāo)點(diǎn)符號(hào)、表情符號(hào)、數(shù)學(xué)符號(hào)等等。
UTF-8
是 Unicode
的一種編碼方式,它是一種可變長(zhǎng)度編碼方式,能夠表示Unicode中的任何字符,包括中文、日文、韓文等各種語(yǔ)言的字符。UTF-8對(duì)于英文字母、數(shù)字和常用符號(hào)等ASCII字符只需1個(gè)字節(jié)編碼,比較節(jié)省空間。在UTF-8編碼中,使用1個(gè)字節(jié)表示0-127范圍內(nèi)的字符,2個(gè)字節(jié)表示 128-2047
范圍內(nèi)的字符,3個(gè)字節(jié)表示 2048-65535
范圍內(nèi)的字符,4個(gè)字節(jié)表示 65536-1114111
范圍內(nèi)的字符。
總的來(lái)說,ASCII是最基本的字符編碼方式,Unicode擴(kuò)展了字符集的范圍,而UTF-8則是Unicode的一種編碼方式,具有可變長(zhǎng)度編碼和兼容ASCII編碼的優(yōu)點(diǎn),因此被廣泛應(yīng)用于互聯(lián)網(wǎng)和計(jì)算機(jī)系統(tǒng)中。
了解了字符編碼,我們?cè)賮?lái)看字符串,Python中,字符串是一個(gè)不可變的序列(Sequence),用于表示一段字符序列, 采用 Unicode
編碼方式,因此可以表示世界上幾乎所有的字符。
#Python中的字符串可以用單引號(hào)、雙引號(hào)或三引號(hào)來(lái)表示 str1 = 'Hello, world!' # 使用單引號(hào) str2 = "Hello, world!" # 使用雙引號(hào) str3 = '''Hello, world!''' # 使用三引號(hào)表示多行字符串 #字符串是不可變的,也就是說,一旦定義了一個(gè)字符串,就不能再修改它的值,只能重新定義一個(gè)新的字符串。 str1 = 'Hello, world!' str1[0] = 'h' # 錯(cuò)誤,字符串不可變 ##Python中的字符串支持各種常見的操作,例如字符串連接、字符串切片、字符串查找、大小寫轉(zhuǎn)換等等。例如: str1 = 'Hello, ' str2 = 'world!' str3 = str1 + str2 # 字符串連接 print(str3) # 輸出:Hello, world! str4 = 'hello, world!' print(str4[0:5]) # 輸出:hello,字符串切片 print(str4.find('world')) # 輸出:7,查找字符串中子串的位置 print(str4.upper()) # 輸出:HELLO, WORLD!,將字符串轉(zhuǎn)換為大寫 #Python中的字符串非常靈活,可以通過各種操作來(lái)實(shí)現(xiàn)字符串的處理和轉(zhuǎn)換。同時(shí),Python也提供了豐富的字符串處理庫(kù),例如正則表達(dá)式庫(kù)re,可以更加高效和方便地處理字符串。
python 中提供了 list 和 tuple 來(lái)表示有序集合,其區(qū)別是 list 可修改,tuple (元祖)一旦初始化就不能修改;
詳細(xì)介紹如下:
在Python中,數(shù)組通常用列表(list)來(lái)表示。列表是一種有序的可變序列,它可以存儲(chǔ)任意類型的元素。列表的索引從0開始,可以通過索引訪問和修改元素。以下是一個(gè)示例:
#1. 創(chuàng)建列表 #可以使用方括號(hào) [] 或 list() 函數(shù)創(chuàng)建一個(gè)新的列表 my_list = [1, 2, 3, "hello"] another_list = list(range(5)) #2. 訪問列表元素 #可以使用索引來(lái)訪問列表中的元素,索引從0開始。也可以使用負(fù)數(shù)索引從列表末尾開始倒數(shù)訪問元素 print(my_list[0]) # 輸出 1 print(my_list[-1]) # 輸出 "hello" #3. 切片操作 ##可以使用切片操作訪問列表的子序列,切片操作的語(yǔ)法為 start:end:step print(my_list[1:3]) # 輸出 [2, 3] print(my_list[:2]) # 輸出 [1, 2] print(my_list[::2]) # 輸出 [1, 3] #4. 修改列表 #可以使用索引來(lái)修改列表中的元素,也可以使用切片操作修改多個(gè)元素 my_list[0] = "new value" my_list[1:3] = [4, 5] '''5. 列表方法 Python列表提供了許多有用的方法來(lái)操作列表,例如: - `append()` 在列表末尾添加一個(gè)元素 - `extend()` 將一個(gè)列表的元素添加到另一個(gè)列表的末尾 - `insert()` 在指定索引處插入一個(gè)元素 - `remove()` 刪除列表中第一個(gè)匹配的元素 - `pop()` 刪除并返回指定索引處的元素 - `index()` 返回指定元素在列表中第一次出現(xiàn)的索引 - `count()` 返回指定元素在列表中出現(xiàn)的次數(shù) - `sort()` 對(duì)列表進(jìn)行排序 - `reverse()` 將列表反轉(zhuǎn) ''' my_list.append("new element") my_list.extend([6, 7]) my_list.insert(1, "new element at index 1") my_list.remove("hello") popped_element = my_list.pop(2) index_of_element = my_list.index("new element") count_of_element = my_list.count(2) my_list.sort() my_list.reverse() #6. 復(fù)制列表 ##可以使用切片操作或者 `copy()` 方法來(lái)復(fù)制一個(gè)列表 my_list_copy = my_list[:] my_list_copy = my_list.copy() #7.獲取列表長(zhǎng)度 #可以使用 `len()` 函數(shù)獲取一個(gè)列表的長(zhǎng)度,即其中元素的個(gè)數(shù) print(len(my_list)) # 輸出 4
在Python中,元組(tuple)是一個(gè)不可變(immutable)的序列,類似于列表(list),不同之處在于元組的元素不能被修改,添加或刪除。元組可以包含任何類型的對(duì)象,包括其他元組。
可以使用圓括號(hào) () 或者 tuple() 函數(shù)來(lái)創(chuàng)建一個(gè)元組。
#1. 創(chuàng)建: my_tuple = (1, 2, 3, "hello") another_tuple = tuple(range(5)) #2. 訪問元組元素 #可以使用索引來(lái)訪問元組中的元素,索引從0開始。也可以使用負(fù)數(shù)索引從元組末尾開始倒數(shù)訪問元素。 print(my_tuple[0]) # 輸出 1 print(my_tuple[-1]) # 輸出 "hello" #3. 切片操作 #可以使用切片操作訪問元組的子序列,切片操作的語(yǔ)法為 start:end:step。 print(my_tuple[1:3]) # 輸出 (2, 3) print(my_tuple[:2]) # 輸出 (1, 2) print(my_tuple[::2]) # 輸出 (1, 3) #4. 復(fù)制元組 #由于元組是不可變的,所以不能像列表那樣使用切片操作來(lái)復(fù)制一個(gè)元組??梢允褂?nbsp;`tuple()` 函數(shù)或者直接將一個(gè)元組賦值給另一個(gè)變量來(lái)復(fù)制一個(gè)元組,例如: my_tuple_copy = tuple(my_tuple) another_tuple = my_tuple #5. 元組解包 #元組可以使用比較運(yùn)算符進(jìn)行比較,比較的規(guī)則是從左到右依次比較元組中的每一個(gè)元素,直到發(fā)現(xiàn)不相等的元素或者所有元素都比較完畢 (1, 2) < (1, 3) # 返回 True (1, 2) == (2, 1) # 返回 False
可以使用條件判斷語(yǔ)句來(lái)根據(jù)某個(gè)條件來(lái)執(zhí)行不同的代碼,Python中的條件判斷語(yǔ)句使用 if
, elif
, else
關(guān)鍵字
score = float(input("請(qǐng)輸入分?jǐn)?shù):")) if score >= 90: grade = "A" elif score >= 80: grade = "B" elif score >= 70: grade = "C" elif score >= 60: grade = "D" else: grade = "E" print("你的等級(jí)是:", grade)
除了 if
語(yǔ)句,Python還提供了一些其他的條件語(yǔ)句和表達(dá)式,如 while
循環(huán)和 for
循環(huán),以及 and
、or
、not
等邏輯運(yùn)算符。這些都是Python編程中非?;A(chǔ)的知識(shí)點(diǎn),需要學(xué)習(xí)掌握。
python 有兩種基本的循環(huán)方式, for in 和 while, 基本用法如下
#1. for in 循環(huán)示例: my_list = [1, 2, 3, 4, 5] for num in my_list: print(num) #2. while 循環(huán)示例 n = int(input("請(qǐng)輸入一個(gè)整數(shù):")) factorial = 1 while n > 0: factorial *= n n -= 1 print(factorial)
除了 for
和 while
循環(huán)之外,Python 還提供了一些高級(jí)的循環(huán)控制語(yǔ)句,如 break
、continue
、else
等,這些語(yǔ)句能夠使循環(huán)更加靈活。
for 循環(huán)怎么獲取下標(biāo)?
可以使用 enumerate()
函數(shù)來(lái)在 for
循環(huán)中同時(shí)獲取元素和它的索引。enumerate()
函數(shù)返回一個(gè)枚舉對(duì)象,其中每個(gè)元素都是一個(gè)元組,包含兩個(gè)元素:索引和對(duì)應(yīng)的元素值。
my_list = ["apple", "banana", "orange"] for i, fruit in enumerate(my_list): print(i, fruit) # 0 apple # 1 banana # 2 orange
Python 中的字典(dict)是一種無(wú)序、可變的數(shù)據(jù)類型,相當(dāng)于其他語(yǔ)言中的 map, 用于存儲(chǔ)鍵值對(duì)。
下面是一個(gè)簡(jiǎn)單的字典示例:
my_dict = {'apple': 3, 'banana': 2, 'orange': 4} '''字典有許多常用的操作,包括: 1. 訪問元素:可以通過鍵來(lái)訪問字典中的值,例如 `my_dict['apple']` 將返回 3。 2. 修改元素:可以通過鍵來(lái)修改字典中的值,例如 `my_dict['banana'] = 5` 將把 `banana` 的值修改為 5。 3. 添加元素:可以使用賦值語(yǔ)句來(lái)添加新的鍵值對(duì),例如 `my_dict['grape'] = 6` 將添加一個(gè)新的鍵值對(duì) `grape: 6`。 4. 刪除元素:可以使用 `del` 語(yǔ)句來(lái)刪除鍵值對(duì),例如 `del my_dict['orange']` 將刪除鍵為 `orange` 的鍵值對(duì)。 5. 遍歷元素:可以使用 `for` 循環(huán)來(lái)遍歷字典中的鍵值對(duì),例如:''' for key, value in my_dict.items(): print(key, value) #6. 獲取鍵、值、鍵值對(duì)的列表:可以使用 `keys()`、`values()` 和 `items()` 方法來(lái)分別獲取所有鍵、所有值和所有鍵值對(duì)的列表。例如: keys = my_dict.keys() values = my_dict.values() items = my_dict.items() #注意,`keys()`、`values()` 和 `items()` 方法返回的是視圖對(duì)象,而不是列表。如果需要將其轉(zhuǎn)換為列表,可以使用 `list()` 函數(shù)來(lái)轉(zhuǎn)換。
集合(set)是一種無(wú)序、可變的數(shù)據(jù)類型,用于存儲(chǔ)一組唯一的對(duì)象,集合不允許重復(fù)元素,而且是無(wú)序的,即不支持通過索引來(lái)訪問元素,集合可以用花括號(hào) {}
或 set()
函數(shù)來(lái)創(chuàng)建。
#1.創(chuàng)建集合: my_set = {1, 2, 3} my_set = set([1, 2, 3]) #2.添加元素 my_set.add(4) my_set.update([4, 5, 6]) #3.刪除元素 my_set.remove(4) my_set.discard(5) my_set.pop() #4.清空集合 my_set.clear() #5.判斷元素是否在集合中 if 1 in my_set: print('1 is in the set') #6.求交集、并集、差集 set1 = {1, 2, 3} set2 = {2, 3, 4} intersection = set1 & set2 # 求交集 union = set1 | set2 # 求并集 difference = set1 - set2 # 求差集 #7.遍歷集合 for item in my_set: print(item)
以上就是關(guān)于“Python中基本數(shù)據(jù)類型和常用語(yǔ)法有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。