目錄
空(None)
字典(Dictionaries)
列表切片(List Slices)
列表解析(List Comprehensions)
String Formatting
Useful Functions
首頁 後端開發 Python教學 關於python類型(type)的詳細介紹

關於python類型(type)的詳細介紹

Jun 27, 2017 am 09:26 AM
type 類型

空(None)

None可以用來表示某一個變數的值缺失,類似其他語言的null。

像其他的空值:0,[]和空的string,布林變數給的是False而不是True。

if None:print("None got interpreted as True")else:print("None got interpreted as False")
登入後複製

結果是:

None got interpreted as False
登入後複製

#當一個函數沒有傳回任何值時,就會傳回None:

def some_func():print("Hi")
var=some_func()print(var)
登入後複製

結果是:

Hi
None
登入後複製
#View Code

字典(Dictionaries)

字典是一種賦予值關鍵字的資料結構。列表可以被看做一個有著某種範圍的整數關鍵字的字典。

字典可以像列表一樣索引,用方括號,只不過方括號裡不在是下標,而是關鍵字

ages={"Dave":24,"Mary":42,"John":58}print(ages["Dave"])print(ages["Mary"])
登入後複製
結果是:
24
42
登入後複製
View Code

#索引一個不是字典的關鍵字會出現錯誤,字典可以儲存任何資料類型的值,空的字典為“{}”。

字典的關鍵字是不能改的。使用一個可以更改的object當做字典的關鍵字會產生類型錯誤(TypeError)。

bad_dict={
    [1,2,3]:"one two three"}
登入後複製
結果是:
#
TypeError: unhashable type: 'list'
登入後複製
View Code

字典函數(Dictionary Functions)

字典的關鍵字可以被賦予不同的值。如果沒有關鍵字,那就新建一個關鍵字:

squares={1:1,2:4,3:"error",4:16}
squares[8]=64squares[3]=9print(squares)
登入後複製
結果是:
{1: 1, 2: 4, 3: 9, 4: 16, 8: 64}
登入後複製

## View Code

查看字典中是否存在某個關鍵字用in或not in 就像在列表中一樣。
nums={1:"one",2:"two",3:"three"}print(1 in nums)print("three"in nums)print(4 not in nums)
登入後複製
結果是:

True
False
True
登入後複製
View Code
是一個非常好用的字典method,起的作用和索引一樣,但是如果在字典中找不到關鍵字,就會回傳None,而不是錯誤######
paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in dictionary"))
登入後複製
#######get的第二個參數的意思是找不到關鍵字就回傳這個值。 ######結果是:###############
paris={1:"apple","orange":[2,3,4],
    True:False,
    None:"True"}print(paris.get("orange"))print(paris.get(7))print(paris.get(12345,"not in the dicrionary"))
登入後複製
#######View Code#########元組(Tuples)### ###元組和列表很像,但他們是不能被更改的,用括號就能新建一個元組,不用也可以…:######
words=("spam","eggs","sausages",)
登入後複製
######
words="spam","eggs","sausages",
登入後複製
###

空元组用()新建。

元组的运行速度比列表快

其他使用方法和列表类似。

列表切片(List Slices)

列表切片是一种检索列表值的高级方法。基本的切片方法是用两个被冒号分开的整数来索引列表。这样可以从旧列表返回一个新列表。

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[2:6])print(squares[3:8])print(squares[0:1])
登入後複製

结果是:

[4, 9, 16, 25]
[9, 16, 25, 36, 49]
[0]
登入後複製
View Code

跟range的参数相似,第一的下标的值会包括,但不包括第二个下标的值。

如果第一个下标省略,默认从头开始,

如果第二个下标省略,默认到结尾结束。

切片同样可以用于元组。

切片也有第三个参数,决定了步长。第一二个分别决定了开头与结尾。

squares=[0,1,4,9,16,25,36,49,64,81]
print(squares[:6:2])
print(squares[3::3])
print(squares[::3])
登入後複製

结果是:

[0, 4, 16]
[9, 36, 81]
[0, 9, 36, 81]
登入後複製

参数是复数的话就倒着走。-1是倒数第一,-2是倒数第二,第三个参数为负就会倒着切,这时候第一个参数和第二个参数就要倒着看了,也就是第二个参数变成了开始,第一个变成了结尾(因此-1会使整个列表倒序)

squares=[0,1,4,9,16,25,36,49,64,81]print(squares[:-1])print(squares[::-3])print(squares[-3::2])
登入後複製

结果是:

[0, 1, 4, 9, 16, 25, 36, 49, 64]
[81, 36, 9, 0]
[49, 81]
登入後複製
View Code

列表解析(List Comprehensions)

这是一种快速创建遵循某些规则的列表的方法:

cubes=[i**3 for i in range(5)]print(cubes)
登入後複製

结果是:

[0, 1, 8, 27, 64]
登入後複製
View Code

也可以包含if statement 加强限定条件。

evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
登入後複製
登入後複製

结果是:

[0, 4, 16, 36, 64]
登入後複製
登入後複製
View Code
evens=[i**2 for i in range(10) if i**2 % 2==0]print(evens)
登入後複製
登入後複製

结果是:

[0, 4, 16, 36, 64]
登入後複製
登入後複製
View Code

range的范围过大会超出内存的容量引发MemoryError

String Formatting

为了使string和non-string结合,可以把non-string转化为string然后再连起来。

string formatting提供了一种方式,把non-string嵌入到string里,用string的format method来替换string里的参数。

nums=[4,5,6]
msg="Numbers:{0} {1} {2}".format(nums[0],nums[1],nums[2])print(msg)
登入後複製

format里的参数和{}里的参数是对应的。{}的参数是format()里参数的下标

参数被命名这种情况也是可以的:

a="{x},{y}".format(x=5,y=12)print(a)
登入後複製

结果是:

5,12
登入後複製
View Code

Useful Functions

Python 内置了许多有用的函数

join ,用一个string充当分隔符把一个由string组成的列表连起来。

print(",".join(["spam","eggs","ham"]))
登入後複製

结果是:

spam,eggs,ham
登入後複製
View Code

replace,用一个string 取代另一个。

print("Hello ME".replace("ME","world"))
登入後複製

结果是:

Hello world
登入後複製
View Code

startwith和endwith,判断是否是由……开头或结束:

print("This is a sentence.".startswith("This"))print("This is a sentence.".endswith("sentence."))
登入後複製

结果是:

True
True
登入後複製
View Code

lower和upper可以改变string的大小写

print("This is A sentence.".upper())print("THIS IS a SENTENCE..".lower())
登入後複製

结果是:

THIS IS A SENTENCE.
this is a sentence.
登入後複製
View Code

split的作用于join 相反,他可以按某个string为分隔符将一串string分开并成为列表的形式。

print("apple,eggs,banana".split(","))
登入後複製

结果是:

['apple', 'eggs', 'banana']
登入後複製

 有关数学的一些函数有:最大值max,最小值min,绝对值abs,约等数round(第二个参数可以决定保留几位小数),对列表里的数求和用sum等:

print(min(1,2,3,4,5,6,7))print(max(1,2,3,4,5,6,7))print(abs(-98))print(round(78.632453434,4))print(sum([2.12121,23232323]))
登入後複製

结果是:

1
7
98
78.6325
23232325.12121
登入後複製
View Code

all和any可以把列表当成参数,然后返回True或 False,

nums=[55,44,33,22,11]if all([i <56 for i in nums]):print("All smaller than 56.")
登入後複製

 

nums=[55,44,33,22,11]if any([i <22 for i in nums]):print("at least one is smaller than 22.")
登入後複製

all和any的区别是,all需要所有的值都满足,any只需要有一个满足就行了。

枚举(enumerate),字面意思,把列表中的值按顺序一个一个列出来。

nums=[55,44,33,22,11]for v in enumerate(nums):print(v)
登入後複製

结果是:

(0, 55)
(1, 44)
(2, 33)
(3, 22)
(4, 11)
登入後複製
View Code

 

以上是關於python類型(type)的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何在 Windows 11 中變更網路類型為專用或公用 如何在 Windows 11 中變更網路類型為專用或公用 Aug 24, 2023 pm 12:37 PM

設定無線網路很常見,但選擇或變更網路類型可能會令人困惑,尤其是在您不知道後果的情況下。如果您正在尋找有關如何在Windows11中將網路類型從公用變更為私有或反之亦然的建議,請繼續閱讀以取得一些有用的資訊。 Windows11中有哪些不同的網路設定檔? Windows11附帶了許多網路設定文件,這些設定檔本質上是可用於配置各種網路連線的設定集。如果您在家中或辦公室有多個連接,這將非常有用,因此您不必每次連接到新網路時都進行所有設定。專用和公用網路設定檔是Windows11中的兩種常見類型,但通

解決Ubuntu掛載行動硬碟錯誤:未知的檔案系統類型exfat 解決Ubuntu掛載行動硬碟錯誤:未知的檔案系統類型exfat Jan 05, 2024 pm 01:18 PM

ubuntu掛載行動硬碟出現錯誤:mount:unknownfilesystemtype'exfat'處理方法如下:Ubuntu13.10或安裝exfat-fuse:sudoapt-getinstallexfat-fuseUbuntu13.04或以下sudoapt-add-repositoryppa:relan/ exfatCentOSLinux掛載exfat格式u碟錯誤的解決方法CentOS中載入extfa

Go中Type關鍵字有哪些用法 Go中Type關鍵字有哪些用法 Sep 06, 2023 am 09:58 AM

Go中Type關鍵字的用法有定義新的型別別名或建立新的結構體類型。詳細介紹:1、類型別名,使用「type」關鍵字可以為現有的類型建立別名,這種別名不會建立新的類型,只是為現有的類型提供一個新的名稱,類型別名可以提高程式碼的可讀性,使程式碼更加清晰;2、結構體類型,使用「type」關鍵字可以建立新的結構體類型,結構體是一種複合類型,可用於定義包含多個欄位的自訂類型等等。

用Python實現動態數組:從入門到精通 用Python實現動態數組:從入門到精通 Apr 21, 2023 pm 12:04 PM

Part1聊聊Python序列類型的本質在本部落格中,我們來聊聊探討Python的各種「序列」類,內建的三大常用資料結構-清單類別(list)、元組類(tuple)和字符串類(str)的本質。我不知道你發現沒有,這些類別都有一個很明顯的共通性,都可以用來保存多個資料元素,最主要的功能是:每個類別都支援下標(索引)存取該序列的元素,例如使用語法Seq[i]。其實上面每個類別都是使用陣列這種簡單的資料結構表示。但熟悉Python的讀者可能知道這3種資料結構又有些不同:例如元組和字串是不能修改的,列表可以

視訊矩陣帳號怎麼做?它的矩陣帳號都有哪些類型呢? 視訊矩陣帳號怎麼做?它的矩陣帳號都有哪些類型呢? Mar 21, 2024 pm 04:57 PM

隨著短影片平台的盛行,影片矩陣帳號行銷已成為一種新興行銷方式。透過在不同平台上建立和管理多個帳號,企業和個人能夠實現品牌推廣、粉絲成長和產品銷售等目標。本文將為您探討如何有效運用視訊矩陣帳號,並介紹不同類型的視訊矩陣帳號。一、視訊矩陣帳號怎麼做?要做好視訊矩陣帳號,需要遵循以下幾個步驟:首先要明確你的影片矩陣帳號的目標是什麼,是為了品牌傳播、粉絲成長還是產品銷售。明確目標有助於制定相應的策略。 2.選擇平台:根據你的目標受眾,選擇合適的短影片平台。目前主流的短視頻平台有抖音、快手、火山小影片等。

Golang 函數傳回值的型別是什麼? Golang 函數傳回值的型別是什麼? Apr 13, 2024 pm 05:42 PM

Go函數可以傳回多個不同類型的值,傳回值類型在函數簽章中指定,並透過return語句傳回。例如,函數可以傳回一個整數和一個字串:funcgetDetails()(int,string)。在實戰中,一個計算圓面積的函數可以回傳面積和一個可選錯誤:funccircleArea(radiusfloat64)(float64,error)。注意事項:如果函數簽章未指定類型,則傳回空值;建議使用明確類型宣告的return語句以提高可讀性。

Python中型別提示的最佳實踐 Python中型別提示的最佳實踐 Apr 23, 2023 am 09:28 AM

使用動態語言一時爽,程式碼重構火葬場。相信你一定聽過這句話,和單元測試一樣,雖然寫程式碼的時候花費你少量的時間,但是從長遠來看,這是非常值得的。本文分享如何更好的理解和使用Python的類型提示。 1、類型提示僅在語法層面有效類型提示(自PEP3107開始引入)用於在變數、參數、函數參數以及它們的傳回值、類別屬性和方法中新增類型。 Python的變數類型是動態的,可以在運行時修改,為程式碼添加類型提示,僅在語法層面支持,對程式碼的運行沒有任何影響,Python解釋器在運行程式碼的時候會忽略類型提示。因此類型提

C++ 函式的型別和特性 C++ 函式的型別和特性 Apr 11, 2024 pm 03:30 PM

C++函式有以下型別:簡單函式、const函式、靜態函式、虛函式;特性包括:inline函式、預設參數、參考回傳、重載函式。例如,calculateArea函數使用π計算給定半徑圓的面積,並將其作為輸出傳回。

See all articles