[Python] (Day-03) - 基本數(shù)據(jù)類型和變量

Get outside every day. Miracles are waiting everywhere. 每天出去走走博个,奇跡就在身邊皱炉。

標(biāo)準(zhǔn)數(shù)據(jù)類型

Python 3 中有六個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型:
  • Number(數(shù)字)
  • String(字符串)
  • List(列表)
  • Tuple(元組)
  • Set(集合)
  • Dictionary(字典)

Number - 數(shù)字

Python 3 支持 int肢簿、floatboolcomplex(復(fù)數(shù))

PS: 內(nèi)置的 type() 函數(shù)可以用來(lái)查詢變量所指的對(duì)象類型

a = 21
b = 8.8
c = True
d = 4+3j

print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
int - 整數(shù)
  • 在 32 位機(jī)器上,整數(shù)的位數(shù)為 32 位,取值范圍為 -2**31~2**31-1,即 -2147483648~2147483647
  • 在 64 位系統(tǒng)上锉矢,整數(shù)的位數(shù)為64位,取值范圍為 -2**63~2**63-1齿尽,即 -9223372036854775808~9223372036854775807
float - 浮點(diǎn)數(shù)
  • 浮點(diǎn)數(shù)用來(lái)處理實(shí)數(shù)沽损,即帶有小數(shù)的數(shù)字
  • 如 1.23,3.14循头,-8.21
bool - 布爾值

Python3 中绵估,把 TrueFalse 定義成關(guān)鍵字了,但它們的值還是 10卡骂,它們可以和數(shù)字相加

可以通過布爾運(yùn)算計(jì)算出來(lái)
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False
可以和數(shù)字相加
>>> print(True + 7)
8
>>> print(False + 7)
7
布爾值可以用and国裳、ornot運(yùn)算
  • and運(yùn)算是與運(yùn)算,只有所有都為True全跨,and運(yùn)算結(jié)果才是True
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True
  • or運(yùn)算是或運(yùn)算缝左,只要其中有一個(gè)為Trueor運(yùn)算結(jié)果就是True
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True
  • not運(yùn)算是非運(yùn)算浓若,它是一個(gè)單目運(yùn)算符渺杉,把True變成FalseFalse變成True
>>> not True
False
>>> not False
True
>>> not 1 > 2
True

String - 字符串

字符串是以單引號(hào)'...'或雙引號(hào)"..."括起來(lái)的任意文本挪钓,比如'abc'是越,"xyz"等等。

轉(zhuǎn)義字符\可以轉(zhuǎn)義很多字符诵原,比如\n表示換行英妓,\t表示制表符挽放,字符\本身也要轉(zhuǎn)義绍赛,所以\\表示的字符就是\

如果字符串里面有很多字符都需要轉(zhuǎn)義蔓纠,就需要加很多\,為了簡(jiǎn)化吗蚌,Python還允許用r'...'表示'...'內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義:

>>> print('\\\t\\')
\       \
>>> print(r'\\\t\\')
\\\t\\

如果字符串內(nèi)部有很多換行腿倚,用\n寫在一行里不好閱讀,為了簡(jiǎn)化蚯妇,Python允許用'''...'''的格式表示多行內(nèi)容

命令行內(nèi)輸入

>>> print('''hello 
... mazy
... morning
... bye''')
hello 
mazy
morning
bye

程序中輸入

print('''hello 
mazy
morning
bye''')

PS: 字符串是 %s;整數(shù) %d;浮點(diǎn)數(shù) %f

字符串的截取的語(yǔ)法格式如下:

變量[頭下標(biāo):尾下標(biāo)]

索引值以 0 為開始值敷燎,-1 為從末尾的開始位置。

str = 'Mazy_ma'

print(str)        # 輸出字符串
print(str[0])     # 輸出字符串第一個(gè)字符
print(str[0:-1])  # 輸出第一個(gè)到倒數(shù)第二個(gè)的所有字符
print(str[2:5])   # 輸出從第三個(gè)開始到第五個(gè)的字符
print(str[2:])    # 輸出從第三個(gè)開始的后的所有字符
print(str * 2)    # 輸出字符串兩次
print("hello " + str)  # 連接字符串

執(zhí)行以上程序會(huì)輸出如下結(jié)果:

Mazy_ma
M
Mazy_m
zy_
zy_ma
Mazy_maMazy_ma
hello Mazy_ma
注意:
  • 1箩言、反斜杠可以用來(lái)轉(zhuǎn)義硬贯,使用r可以讓反斜杠不發(fā)生轉(zhuǎn)義
  • 2、字符串可以用+運(yùn)算符連接在一起陨收,用*運(yùn)算符重復(fù)操作
  • 3饭豹、Python 中的字符串有兩種索引方式,從左往右以0開始务漩,從右往左以-1開始
  • 4拄衰、Python中的字符串不能改變

List - 列表

  • List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型
  • 列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表中元素的類型可以不相同饵骨,它支持?jǐn)?shù)字翘悉,字符串甚至可以包含列表(所謂嵌套)
  • 列表是寫在方括號(hào)[...]之間、用逗號(hào)分隔開的元素列表
    和字符串一樣居触,列表同樣可以被索引和截取妖混,列表被截取后返回一個(gè)包含所需元素的新列表

創(chuàng)建列表:

name_list = ['Mazy', 'Vivian', 'Eric']
或
name_list = list(['Mazy', 'Vivian', 'Eric'])
  • List是一種有序的集合,可以隨時(shí)添加和刪除其中的元素
  • 用索引來(lái)訪問list中每一個(gè)位置的元素轮洋,記得索引是從0開始的
  • 如果要取最后一個(gè)元素制市,除了計(jì)算索引位置外,還可以用-1做索引砖瞧,直接獲取最后一個(gè)元素

列表截取的語(yǔ)法格式如下:

列表[頭下標(biāo):尾下標(biāo)]

索引值以 0 為開始值息堂,-1 為從末尾的開始位置
加號(hào)+是列表連接運(yùn)算符,星號(hào)*是重復(fù)操作

實(shí)例:

list = ['Mazy', 798, 'Owen',6.68, True]
tinylist = [123, 'Angular']

print(list)            # 輸出完整列表
print(list[0])         # 輸出列表第一個(gè)元素
print(list[1:3])       # 從第二個(gè)開始輸出到第三個(gè)元素
print(list[2:])        # 輸出從第三個(gè)元素開始的所有元素
print(tinylist * 2)    # 輸出兩次列表
print(list + tinylist) # 連接列表

執(zhí)行以上程序會(huì)輸出如下結(jié)果:

['Mazy', 798, 'Owen', 6.68, True]
Mazy
[798, 'Owen']
['Owen', 6.68, True]
[123, 'Angular', 123, 'Angular']
['Mazy', 798, 'Owen', 6.68, True, 123, 'Angular']

注意:

  • 1块促、List 寫在方括號(hào)之間荣堰,元素用逗號(hào),隔開
  • 2、和字符串一樣竭翠,List 可以被索引和切片
  • 3振坚、List 可以使用+操作符進(jìn)行拼接
  • 4、List 中的元素是可以改變的

Tuple - 元組 (不可變列表)

元組tuple與列表類似斋扰,不同之處在于元組的元素不能修改渡八。元組寫在小括號(hào)()里啃洋,元素之間用逗號(hào),隔開

創(chuàng)建元組:

ages = (11, 22, 33, 44, 55)
或
ages = tuple((11, 22, 33, 44, 55))
tuple = ('Mazy', 798, 'Owen',6.68, True)
tinytuple = (123, 'Angular')

print(tuple)          # 輸出完整元組
print(tuple[0])       # 輸出元組的第一個(gè)元素
print(tuple[1:3] )    # 輸出從第二個(gè)元素開始到第三個(gè)元素
print(tuple[2:])      # 輸出從第三個(gè)元素開始的所有元素
print(tinytuple * 2)  # 輸出兩次元組
print(tuple + tinytuple)  # 連接元組

執(zhí)行以上程序會(huì)輸出如下結(jié)果:

('Mazy', 798, 'Owen', 6.68, True)
Mazy
(798, 'Owen')
('Owen', 6.68, True)
(123, 'Angular', 123, 'Angular')
('Mazy', 798, 'Owen', 6.68, True, 123, 'Angular')

雖然tuple的元素不可改變,但它可以包含可變的對(duì)象屎鳍,比如list列表宏娄。

構(gòu)造包含 0 個(gè)或 1 個(gè)元素的元組比較特殊,所以有一些額外的語(yǔ)法規(guī)則:

tup1 = ()    # 空元組
tup2 = (20,) # 一個(gè)元素逮壁,需要在元素后添加逗號(hào)

注意:

  • 1孵坚、與字符串一樣,元組的元素不能修改
  • 2窥淆、元組也可以被索引和切片卖宠,方法一樣
  • 3、注意構(gòu)造包含 0 或 1 個(gè)元素的元組的特殊語(yǔ)法規(guī)則
  • 4忧饭、元組也可以使用+操作符進(jìn)行拼接

Set - 集合

  • 集合set是一個(gè)無(wú)序不重復(fù)元素的序列
  • 基本功能是進(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素
  • 可以使用大括號(hào) { } 或者 set()
函數(shù)創(chuàng)建集合

注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { }扛伍,因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

# 或者
# 通過元祖建立集合
name_tuple =  ('Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose')
print(set(name_tuple)) # {'Tom', 'Mary', 'Rose', 'Jim', 'Jack'}

# 通過列表建立集合
name_list  = ['Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose']
print(set(name_list)) # {'Tom', 'Mary', 'Rose', 'Jim', 'Jack'}

Dictionary - 字典

  • 字典Dictionary是 Python 中另一個(gè)非常有用的內(nèi)置數(shù)據(jù)類型
  • 列表是有序的對(duì)象結(jié)合,字典是無(wú)序的對(duì)象集合词裤。兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來(lái)存取的刺洒,而不是通過偏移存取
  • 字典是一種映射類型,字典用{ }標(biāo)識(shí)亚斋,它是一個(gè)無(wú)序的 鍵key : 值value對(duì)集合
  • key必須使用不可變類型
  • 在同一個(gè)字典中作媚,鍵key必須是唯一的

創(chuàng)建字典:

person = {"name": "Joy", 'age': 18}
或
person = dict({"name": "Joy", 'age': 18})

注意:

  • 1、字典是一種映射類型帅刊,它的元素是鍵值對(duì)
  • 2纸泡、字典的關(guān)鍵字必須為不可變類型,且不能重復(fù)
  • 3赖瞒、創(chuàng)建空字典使用 { }

變量 - Variables

Variables are used to store information to be referenced and manipulated in a computer program. They also provide a way of labeling data with a descriptive name, so our programs can be understood more clearly by the reader and ourselves. It is helpful to think of variables as containers that hold information. Their sole purpose is to label and store data in memory. This data can then be used throughout your program.

  • Python 中的變量不需要聲明女揭。每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建
  • 在 Python 中栏饮,變量就是變量吧兔,它沒有類型,我們所說(shuō)的"類型"是變量所指的內(nèi)存中對(duì)象的類型
  • 等號(hào)(=)用來(lái)給變量賦值, 等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值

示例:

count = 100          # 整型變量
miles = 1000.0       # 浮點(diǎn)型變量
name  = "mazy"       # 字符串

多個(gè)變量賦值

a = b = c = 1
# 等價(jià)于:
a = 1
b = 1
c = 1
a, b, c = 1, 2.8, "mazy"
# 等價(jià)于:
a = 1
b = 2.8
c = "mazy"

空值 - None

空值是Python里一個(gè)特殊的值袍嬉,用None表示境蔼。None不能理解為0,因?yàn)?code>0是有意義的伺通,而None是一個(gè)特殊的空值

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末箍土,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子罐监,更是在濱河造成了極大的恐慌吴藻,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件弓柱,死亡現(xiàn)場(chǎng)離奇詭異沟堡,居然都是意外死亡侧但,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門航罗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)禀横,“玉大人,你說(shuō)我怎么就攤上這事伤哺⊙嘞溃” “怎么了者祖?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵立莉,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我七问,道長(zhǎng)蜓耻,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任械巡,我火速辦了婚禮刹淌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘讥耗。我一直安慰自己有勾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布古程。 她就那樣靜靜地躺著蔼卡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪挣磨。 梳的紋絲不亂的頭發(fā)上雇逞,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音茁裙,去河邊找鬼塘砸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛晤锥,可吹牛的內(nèi)容都是我干的掉蔬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼矾瘾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼女轿!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起霜威,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤谈喳,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后戈泼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體婿禽,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赏僧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扭倾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淀零。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖膛壹,靈堂內(nèi)的尸體忽然破棺而出驾中,到底是詐尸還是另有隱情,我是刑警寧澤模聋,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布肩民,位于F島的核電站,受9級(jí)特大地震影響链方,放射性物質(zhì)發(fā)生泄漏持痰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一祟蚀、第九天 我趴在偏房一處隱蔽的房頂上張望工窍。 院中可真熱鬧,春花似錦前酿、人聲如沸患雏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)淹仑。三九已至,卻和暖如春言津,著一層夾襖步出監(jiān)牢的瞬間攻人,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工悬槽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留怀吻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓初婆,卻偏偏與公主長(zhǎng)得像蓬坡,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子磅叛,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容