學(xué)習(xí)記錄胸私,歡迎指出錯(cuò)誤
數(shù)據(jù)類型與變量
數(shù)據(jù)類型
在Python中標(biāo)準(zhǔn)的數(shù)據(jù)類型有六種:
- Number(數(shù)字 )
- String(字符串)
- List(列表)
- Tuple(元組)
- Sets(集合)
- Dictionary(字典)
變量
- 使用等號(hào)(=)來給變量賦值,允許同時(shí)多個(gè)變量賦值。
- Python中的變量沒有類型朴读,“類型”是變量所指的內(nèi)存中對(duì)象的類型骗绕。
- Python中的變量不需要聲明檐嚣,每個(gè)變量在使用前都必須賦值,變量賦值以后該變量才會(huì)被創(chuàng)建熬北。
變量命名規(guī)則
- 數(shù)字不能作為開頭,但可作為結(jié)尾
- 標(biāo)點(diǎn)符號(hào)中只有下劃線可以出現(xiàn)在名字里面
- 同一個(gè)數(shù)據(jù)不只有一個(gè)名字
- 同樣的名字只能對(duì)應(yīng)一個(gè)數(shù)據(jù)
Number(數(shù)字)
- Python3支持 ?int诚隙、float讶隐、bool、complex(復(fù)數(shù))久又。
- 內(nèi)置的
type()
函數(shù)可以用來查詢變量所指的對(duì)象類型巫延,isinstance()
函數(shù)可以用來判斷變量所指的對(duì)象類型。
>>>a = 20
>>>print(type(a))
(class 'int)
>>>isinstance(a, int)
Ture
整數(shù)?int
Python可以處理任意大小的整數(shù)地消,包括正炉峰、負(fù)整數(shù),在程序中的表示方法和數(shù)學(xué)上的寫法一樣犯建。
浮點(diǎn)數(shù)?float
?浮點(diǎn)數(shù)也就是小數(shù)讲冠,之所以稱為浮點(diǎn)數(shù),是因?yàn)榘凑湛茖W(xué)計(jì)數(shù)法表示時(shí)适瓦,一個(gè)浮點(diǎn)數(shù)的小數(shù)點(diǎn)位置是可變的竿开。對(duì)于很大或很小的浮點(diǎn)數(shù),就必須用科學(xué)計(jì)數(shù)法表示玻熙,用e代替10否彩,如?123=1.23e2、0.012=1.2e-2嗦随。
?整數(shù)和浮點(diǎn)數(shù)在計(jì)算機(jī)內(nèi)部存儲(chǔ)的方式是不同的列荔,整數(shù)運(yùn)算永遠(yuǎn)是精確的,而浮點(diǎn)數(shù)運(yùn)算則可能會(huì)有四舍五入的誤差枚尼。
布爾類型?bool
條件真為:Ture贴浙;條件假為:False
String(字符串)
Python中的字符串用?'?或?"?括起來,同時(shí)使用反斜杠? \ ?轉(zhuǎn)移特殊字符署恍。語法格式:title = 'hello word'
字符串的截取語法格式為:title[0:5]
- Python中字符串不能改變崎溃。
- 字符串可以用+連接,用*重復(fù)盯质。
- 字符串有兩種索引方式袁串,從左往右以0開始概而,從右往左以-1開始。
List(列表)
- list是一種有序的集合囱修,可以添加和刪除其中的元素赎瑰。
- 往list中添加元素到末尾
a.append('ad')
,插到指定位置a.insert(1, 'ad')
破镰。 - 刪除list末尾的元素
a.pop()
餐曼,刪除指定位置的元素a.pop(2)
。 - 替換某個(gè)元素啤咽,直接賦值給對(duì)應(yīng)的索引位置
a[1] = 3
晋辆。 - 列表中元素的類型可以不相同,支持?jǐn)?shù)字宇整、字符串甚至包含列表(嵌套)瓶佳。
- 列表是Python中使用最頻繁的數(shù)據(jù)類型。
- 列表被截取后返回一個(gè)包含所需元素的新列表鳞青。
- 列表是寫在[?]之間霸饲、用逗號(hào)分隔開的元素列表。
- 用
len()
函數(shù)可以獲取list元素的個(gè)數(shù)臂拓。 - list索引從0開始厚脉,可以用-1直接獲取最后一個(gè)元素。
>>>list1=[ 123, 1.23,'abc' ]
>>>list2 = [ 456, 4.56, 'abcd', list1 ]
>>>list2[0] = 6
>>>list2
[6, 4.56, 'abcd',[123,1.23,'abc']]
Tuple(元組)
- 元組寫在小括號(hào)(?)里面胶惰,元素之間用逗號(hào)隔開傻工。
- 元組中的元素類型可以不相同,元組訪問與列表一樣孵滞。
- 元組中的元素不允許修改(指向不變)中捆,可以使用del語句來刪除整個(gè)元組,可以對(duì)元組進(jìn)行連接組合坊饶。
>>> a = (123,'a',2.4)
>>> a
(123, 'a', 2.4)
>>> print(a,type(a),len(a))
(123, 'a', 2.4) <class 'tuple'> 3
>>> print(a[1])
a
>>> a[0]=1#元素修改是不合法的
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> b = ()#創(chuàng)建一個(gè)空元組
>>> b
()
>>> c = (12,)創(chuàng)建一個(gè)元素的元組泄伪,需要在元素后面添加逗號(hào)
>>> c
(12,)
>>>
Set(集合)
- 可以使用大括號(hào){?}或者set(?)函數(shù)創(chuàng)建set集合。
- 創(chuàng)建一空集合必須用set(?)而不是{?}匿级,因?yàn)閧?}是用來創(chuàng)建一個(gè)空字典蟋滴。
- 集合是一個(gè)無序、不重復(fù)元素的集痘绎,基本功能是進(jìn)行成員關(guān)系測試和消除重復(fù)元素津函。
- 添加元素到set中
a.add(2)
,刪除元素remove(2)
孤页。
>>> stu = {'a','b','c','d','a'}
>>> print(stu)#自動(dòng)過濾掉重復(fù)的
{'a', 'b', 'c', 'd'}
>>> 'a' in stu#成員測試
True
>>> a = set( 'abcdefg')
>>> b = set( 'defghij')
>>> a
{'c', 'a', 'f', 'b', 'e', 'g', 'd'}
>>> a-b#a和b的差集
{'a', 'b', 'c'}
>>> a|b#a和b的并集
{'h', 'c', 'a', 'f', 'b', 'i', 'e', 'g', 'd', 'j'}
>>> a&b#a和b的交集
{'f', 'e', 'g', 'd'}
>>> a^b#a和b中不同時(shí)存在
{'h', 'j', 'c', 'b', 'a', 'i'}
Dictionaries(字典)
- 變量 = [鍵:值(key-value), 鍵:值]
- 創(chuàng)建空字典用{?}尔苦。
- 字典的關(guān)鍵字必須為不可變對(duì)象,且互不相同。
- 字典是一種映射類型蕉堰,它的元素是無序的鍵值對(duì)。
- 除了初始化指定悲龟,可以根據(jù)key放入屋讶,
a['b'] = 2
,刪除一個(gè)keya.pop('b')
须教。 - 判斷key是否存在皿渗,一是通過
'a' in d
,二是d.ger('a')
或指定的valued.get('a', 1)
轻腺。 - 字典類型有一些內(nèi)置的函數(shù)乐疆,如
clear()
、keys()
贬养、values()
挤土、dict()
、get()
等误算。
>>> dic = { }#創(chuàng)建一個(gè)空字典
>>> ple = { 'a':1, 'b':2, 'c':3 }
>>> ple
{'a': 1, 'b': 2, 'c': 3}
>>> ple['a']
1
>>> del ple['a'] #刪除一個(gè)鍵值對(duì)
>>> ple
{'b': 2, 'c': 3}
>>> ple[ 'd' ]=4#添加一個(gè)鍵值對(duì)
>>> ple
{'b': 2, 'c': 3, 'd': 4}
>>> list(ple.keys())#返回所有key組成的list
['b', 'c', 'd']
>>> sorted(ple.keys())#按key排序
['b', 'c', 'd']
>>> 'b' in ple#成員測試
True
>>> 'a' in ple
False
>>> 'a' not in ple
Ture
數(shù)據(jù)類型比較
類型 | 語法格式 | 可變 | 下標(biāo)讀取 |
---|---|---|---|
Number | a = 60 | N | |
String | a = 'dream' | N | Y |
List | a = [ 60, 3.14, 'dream'] | Y | Y |
Tuple | a = ( 60, 3.14, 'dream' ) | N | Y |
Sets | a = { 60, 3.14, 'dream' } | N | N |
Dictionary | a = { 'dream' : 1, 'try' : 2 } | a['try'] |
數(shù)據(jù)類型的轉(zhuǎn)換
- int()
- float()
- str()
- bool()
- hex()?把一個(gè)整數(shù)轉(zhuǎn)換成十六進(jìn)制表示的字符串仰美,只能轉(zhuǎn)換整數(shù)。
字符串常用方法
- lstrip():刪除字符串中所有的前導(dǎo)空格儿礼。
- rstrip():刪除字符串中所有尾隨空格咖杂。
- strip():對(duì)字符串執(zhí)行l(wèi)strip()、rstrip()蚊夫。
- split(str):根據(jù)分隔符str拆分字符串诉字,默認(rèn)以空格拆分。
- replace(old, new):使用新的字符串代替指定的字符串知纷。
- capitalize():把字符串的第一個(gè)字母轉(zhuǎn)換為大寫壤圃。
- lower():把字符串中所有大寫字母轉(zhuǎn)換為小寫。
- upper():把字符串中所有小寫字母轉(zhuǎn)換為大寫屈扎。
- islower():如果字符串至少包含一個(gè)字母埃唯,并且所有字符均為小寫,則返回Ture鹰晨,否則返回False墨叛。
- isupper():如果字符串至少包含一個(gè)可變大小字符,并且所有可變大小寫字符均為大寫模蜡,則返回Ture漠趁,否則返回False。
- find():查找字符串是否有特定的字符忍疾,若有返回索引值闯传,沒有則返回-1。
- index():查找字符串是否有特定的字符卤妒,若有返回索引值甥绿,沒有則引發(fā)異常字币。