python數(shù)據(jù)類型有很多,這里為大家簡單例舉幾個:
在岢嵐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),成都營銷網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站制作,岢嵐網(wǎng)站建設(shè)費(fèi)用合理。
第一種:整數(shù)
python可以處理任意大小的整數(shù),當(dāng)然包含負(fù)整數(shù),在python程序中,整數(shù)的表示方法和數(shù)學(xué)上的寫法一模一樣,比如:1,100,-8080,0,等。
計(jì)算機(jī)由于使用二進(jìn)制,所以有時候用十六進(jìn)制表示整數(shù)比較方便,十六進(jìn)制用0x前綴和0-9,a-f表示,比如:0xff00。
第二種:浮點(diǎn)數(shù)
浮點(diǎn)數(shù)也就是小數(shù),之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)計(jì)數(shù)法表示時,一個浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的。浮點(diǎn)數(shù)可以用數(shù)學(xué)寫法,比如1.23,3.15,-9.01等。但是對于很大或者很小的浮點(diǎn)數(shù),就必須用科學(xué)計(jì)數(shù)法表示,把10用e替代,1.23x10^9就是1.23e9。
整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲的方法是不同的,整數(shù)運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可能會有四舍五入的誤差。
第三種:字符串
字符串是以“或”括起來的任意文本,比如'abc','xyz'等。請注意,“或”本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。
第四個:布爾值
布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有True、False兩種值,要么是True,要么是False,在python中,可以直接用True、False表示布爾值,也可以通過布爾運(yùn)算計(jì)算出來。
布爾值可以用and、or或not運(yùn)算。
and運(yùn)算是與運(yùn)算,只有所有都為True,and運(yùn)算結(jié)果才是True。
or運(yùn)算是或運(yùn)算,只要其中有一個為True,or運(yùn)算結(jié)果就是True。
not運(yùn)算是非運(yùn)算,它是一個單目運(yùn)算符,把True變成False,F(xiàn)alse變成True。
第五個:空值
空值是python里一個特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個特殊的空值。
此外,python還提供了列表、字典等多種數(shù)據(jù)類型,還允許創(chuàng)建自定義數(shù)據(jù)類型。
None 表示空值,它是一個特殊 Python 對象, None的類型是 NoneType 。
None 是 NoneType 數(shù)據(jù)類型的唯一值,我們不能再創(chuàng)建其它 NoneType 類型的變量,但是可以將 None 賦值給任何變量。
特征
作為沒有return關(guān)鍵函數(shù)的返回值
對于所有沒有 return 語句的函數(shù)定義,Python 都會在末尾加上 return None,使用不帶值的 return 語句(也就是只有 return 關(guān)鍵字本身),那么就返回 None。
當(dāng)使用Numpy或者Pandas處理數(shù)據(jù)的時候,經(jīng)常會遇到條目中沒有沒有數(shù)據(jù),然后當(dāng)我們在去打印的時候就會出現(xiàn)NaN。
原數(shù)據(jù)為下圖:
個人理解的等式
這是一個函數(shù)。
python函數(shù)參數(shù)為None的時候,比如defreq(self,b=None),是因?yàn)檫@個函數(shù)是一個封裝函數(shù),在沒有調(diào)用他的時候他的參數(shù)需要加上None如果不加None值,不調(diào)用函數(shù)他會報錯一般會用在封裝類或者框架里比如說框架一般會有一個總的調(diào)用函數(shù),總的調(diào)用函數(shù)啟動,這次沒有獲取到值,執(zhí)行到req函數(shù)時無法給req函數(shù)參數(shù),那如果沒有參數(shù)req函數(shù)就會報錯一般會報:"req()missing1requiredpositionalargument:'b'’但是如果參數(shù)為None就不會報錯如果程序執(zhí)行到req參數(shù)傳遞成功的話,參數(shù)就不會是None了所以None是一個防止報錯的機(jī)制。
python中None代表一個特殊的空值,即為一個空對象,沒有任何的值。
python中None代表一個特殊的空值,即為一個空對象,沒有任何的值。
一般用于assert,判斷,函數(shù)無返回時的默認(rèn),具體如下:
assert斷言:
mylist = ['a', 'b', 'c']
assert len(mylist) is not None # 用assert判斷列表不為空,正確無返回
assert len(mylist) is None # 用assert判斷列表為空
if...else...
a?=?None
if?a:
print?"a?is?not?None"
else:
print?"a?is?None"
3.如果函數(shù)無return,則默認(rèn)返回None
def?add1(a,b):
return?a+b
a1=add1(1,2)
print?a1
#會輸出3,因?yàn)橛衦eturn,則有返回值
def?add2(a,b):
print?a+b
a2?=?add2(1,2)
print?a2
#會輸出None,因?yàn)闆]有return,則add2為None
Python提供的基本數(shù)據(jù)類型:數(shù)值(整型、浮點(diǎn)型、復(fù)數(shù)、布爾型等)、字符串、列表、元組、字典、集合等,將它們簡單分類如下:
通常被稱為整型,數(shù)值為正或者負(fù),不帶小數(shù)點(diǎn)。
Python 3的整型可以當(dāng)做Long類型使用,所以Python 3沒有
Python 2的Long類型。
Python 初始化的時候會自動建立一個小整數(shù)對象池,方便我們調(diào)用,避免后期重復(fù)生成!這是一個包含 262個指向整數(shù)對象的指針數(shù)組,范圍是 -5 到 256 。
Python的浮點(diǎn)數(shù)就是數(shù)學(xué)中的小數(shù),類似C語言中的double。
浮點(diǎn)數(shù) 也就是小數(shù),如 1.23 , 3.14 , -9.01 等等。但是對于很大或很小的浮點(diǎn)數(shù),一般用科學(xué)計(jì)數(shù)法表示,把10用e替代, 1.23x10^9 就是 1.23e9 ,或者 12.3e8 , 0.000012 可以寫成1.2e-5 等等。
復(fù)數(shù) 由實(shí)數(shù)部分和虛數(shù)部分構(gòu)成,可以用a + bj,或者complex(a,b)表示,復(fù)數(shù)的實(shí)部a和虛部b都是浮點(diǎn)。
對 與 錯 、 0 和 1 、 正 與 反 ,都是傳統(tǒng)意義上的布爾類型。
但在Python語言中,布爾類型只有兩個值, True 與 False 。請注意,是英文單詞的對與錯,并且首字母要大寫。
在Python中,0、0.0、-0.0、None、空字符串“”、空元組()、空列表[]、空字典{}都被當(dāng)作False,還有自定義類型,如果實(shí)現(xiàn)了 nonzero ()或 len ()方法且方法返回0或False,則其實(shí)例也被當(dāng)作False,其他對象均為True
布爾值還可以用and、or和not運(yùn)算。
1)、and 運(yùn)算是 與 運(yùn)算,只有所有都為 True , and 運(yùn)算的結(jié)果才是 True ;
2)、or 運(yùn)算是 或 運(yùn)算,只要其中有一個為 True , or 運(yùn)算結(jié)果就是 True ;
3)、not 運(yùn)算是 非 運(yùn)算,它是單目運(yùn)算符,把 True 變成 False,F(xiàn)alse 變成 True。
例如:
由以上案例可以看出,在做四則運(yùn)算的時候,明顯把 True 看做 1 , False 看做 0 。
4)空值
空值不是布爾類型,只不過和布爾關(guān)系比較緊密。
空值是Python里一個特殊的值,用 None 表示(首字母大寫)。None不能理解為0,因?yàn)?是整數(shù)類型,而None是一個特殊的值。None也不是布爾類型,而是NoneType。
在某些特定的情況下,需要對數(shù)字的類型進(jìn)行轉(zhuǎn)換。
Python提供了內(nèi)置的數(shù)據(jù)類型轉(zhuǎn)換函數(shù):
int(x) 將x轉(zhuǎn)換為一個整數(shù)。如果x是一個浮點(diǎn)數(shù),則截取小數(shù)部分。
float(x) 將x轉(zhuǎn)換成一個浮點(diǎn)數(shù)。
complex(x) 將x轉(zhuǎn)換到一個復(fù)數(shù),實(shí)數(shù)部分為 x,虛數(shù)部分為 0。
complex(x, y): 將 x 和 y 轉(zhuǎn)換到一個復(fù)數(shù),實(shí)數(shù)部分為 x,虛數(shù)部分為 y。
Python字符串即可以用單引號也可以用雙引號括起來,甚至還可以用三引號括起來,字符串是以''或""括起來的任意文本。
例如:'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c這3個字符。如果'本身也是一個字符,那就可以用""括起來,比如"I'm OK"包含的字符是I,',m,空格,O,K這6個字符。
字符串中包括特殊字符,可以用轉(zhuǎn)義字符\來標(biāo)識
但是字符串里面如果有很多字符都需要轉(zhuǎn)義,就需要加很多\,為了簡化,Python還允許用r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義
例如:
print r'\\\t\\' #輸出:\\\t\\
字符串的一些常見操作
切?是指對操作的對象截取其中?部分的操作
語法:序列[開始位置下標(biāo):結(jié)束位置下標(biāo):步?]
a. 不包含結(jié)束位置下標(biāo)對應(yīng)的數(shù)據(jù), 正負(fù)整數(shù)均可;
b. 步?是選取間隔,正負(fù)整數(shù)均可,默認(rèn)步?為1。
find():檢測某個?串是否包含在這個字符串中,如果在返回這個?串開始的位置下標(biāo),否則則返回-1。
index():檢測某個?串是否包含在這個字符串中,如果在返回這個?串開始的位置下標(biāo),否則則報異常。
rfind(): 和find()功能相同,但查找?向?yàn)橛覀?cè)開始。
rindex():和index()功能相同,但查找?向?yàn)橛覀?cè)開始。
count():返回某個?串在字符串中出現(xiàn)的次數(shù)。
replace():替換
split():按照指定字符分割字符串。
join():??個字符或?串合并字符串,即是將多個字符串合并為?個新的字符串。
capitalize():將字符串第?個字符轉(zhuǎn)換成?寫。
title():將字符串每個單詞?字?轉(zhuǎn)換成?寫。
lower():將字符串中?寫轉(zhuǎn)?寫。
upper():將字符串中?寫轉(zhuǎn)?寫。
lstrip():刪除字符串左側(cè)空?字符。
rstrip():刪除字符串右側(cè)空?字符。
strip():刪除字符串兩側(cè)空?字符。
ljust():返回?個原字符串左對?,并使?指定字符(默認(rèn)空格)填充?對應(yīng)?度 的新字符串。
rjust():返回?個原字符串右對?,并使?指定字符(默認(rèn)空格)填充?對應(yīng)?度 的新字符串,語法和
ljust()相同。
center():返回?個原字符串居中對?,并使?指定字符(默認(rèn)空格)填充?對應(yīng)?度 的新字符串,語
法和ljust()相同。
所謂判斷即是判斷真假,返回的結(jié)果是布爾型數(shù)據(jù)類型:True 或 False。
startswith():檢查字符串是否是以指定?串開頭,是則返回 True,否則返回 False。如果設(shè)置開
始和結(jié)束位置下標(biāo),則在指定范圍內(nèi)檢查。
endswith()::檢查字符串是否是以指定?串結(jié)尾,是則返回 True,否則返回 False。如果設(shè)置開
始和結(jié)束位置下標(biāo),則在指定范圍內(nèi)檢查。
isalpha():如果字符串?少有?個字符并且所有字符都是字?則返回 True, 否則返回 False。
isdigit():如果字符串只包含數(shù)字則返回 True 否則返回 False。
isalnum():如果字符串?少有?個字符并且所有字符都是字?或數(shù)字則返 回 True,否則返回
False。
1.首先要了解Pythond的對象的概念:
Python中,萬物皆對象,所有的操作都是針對對象的,那什么是對象,5是一個int對象,‘oblong’是一個str對象,異常也是一個對象,抽象一點(diǎn)是,人,貓,夠也是一個對象
那對于一個對象,它就有包括兩方面的特征:
屬性:去描述它的特征
方法: 它所具有的行為
所以,對象=屬性+方法 (其實(shí)方法也是一種屬性,一種區(qū)別于數(shù)據(jù)屬性的可調(diào)用屬性
把具有相同屬性和方法的對象就可以歸為一類,即Classl。類就好比是一張藍(lán)圖,使用一個類可以創(chuàng)建多個對象實(shí)例
即人,貓,狗都屬于哺乳動物類
類是對象的抽象化,對象是類的實(shí)例化。類不代表具體的事物,而對象表示具體的事物
類也是有屬性和方法的。
2.數(shù)據(jù)類型也是對象
實(shí)際上Pyhton在面向?qū)ο蟪绦蛟O(shè)計(jì)時,才會有對象這個概念,而在面向過程型程序設(shè)計(jì)時,我們討論最多的就是數(shù)據(jù)類型。
Python提供的基本數(shù)據(jù)類型主要有:布爾類型、整型、浮點(diǎn)型、字符串、列表、元組、集合、字典等
數(shù)據(jù)類型也可以看做是一個”類“
每一種數(shù)據(jù)類型都是一個對象,也具有其自己的屬性和方法
3.Python中的None與 NULL(即空字符)的區(qū)別
了解以上概念,就不難理解None 與null的區(qū)別
(1)是不同的一種數(shù)據(jù)類型
type(None)class 'NoneType'12
表示該值是一個空對象,空值是Python里一個特殊的值,用None表示。None不能理解為0,因?yàn)?是有意義的,而None是一個特殊的空值。
type('')
class ''str'12
你可以將None賦值給任何變量,也可以將任何變量賦值給一個None值得對象
(2)判斷的時候 均是False
ff=None if ff:
print('ff is define')
執(zhí)行結(jié)果:無打?。?2345
(3)屬性不同
使用dir()函數(shù)返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法dir(),該方法將被調(diào)用。如果參數(shù)不包含dir(),該方法將最大限度地收集參數(shù)信息。
dir(None)
['__bool__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']12
dir('')
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']12
總結(jié):
本文解釋了None與 NULL(即空字符)的區(qū)別,以及Python中對象,類的概念,以及type(),dir()函數(shù)的使用。