Python(自用1)

1.包的導入

import和from…import
在 python 用 import 或者 from…import 來導入相應的模塊。

將整個模塊(somemodule)導入,格式爲: import somemodule(使用裏面的函數的時候需要指定模塊名)

從某個模塊中導入某個函數,格式爲: from somemodule import somefunction

從某個模塊中導入多個函數,格式爲: from somemodule import firstfunc, secondfunc, thirdfunc

將某個模塊中的全部函數導入,格式爲: from somemodule import *(函數可以直接使用,不需要再指定模塊名)

2.python標準數據類型

Numbers數字

數字數據類型用於存儲數值。不可改變的數據類型,改變數字數據類型會分配一個新的對象。可以使用del語句刪除若干個對象的引用
del var,var0
有四種不同類型的數字類型
int
long(python2.x中有,2.2之後int類型數據溢出之後自動轉換,python3.x中移除,3.x中int保存爲long)
float
complex: 複數a+bj或者complex(a,b)
運算
乘方:2**5=32

String字符串

可以由數字字母下劃線組成
可以用單引號,雙引號,三引號
字串列表有兩種不同的取值順序:從左到右0 – n-1,從右到左-1 – -n;
‘\’表示轉義,可以在字符串前面添加一個r,讓轉義不發生。print(r’Ru\noob’)–>Ru\noob

獲取字串方法:

可以使用【頭下標:尾下標】來進行截取相應的字符串,下標爲空表示從取頭或者尾。取出來的字串包含頭下標的字符,不包含尾下標的字符。

testnum = "123456789"
test = testnum[-3:-1] # 78

字符串獲取還可以有第三個參數,表示的是截取的步長

testnum = "123456789"
test = testnum[052] # 135
字符串拼接

‘+’表示字符串連接
’表示重複操作 :例如 str=‘aas’ str1=str2(str1=‘aasaas’)

格式化字符串
#!/usr/bin/python3
print ("我叫 %s 今年 %d 歲!" % ('小明', 10))

List列表

列表是使用最頻繁的數據類型,可以完成大多數集合類的數據結構實現。支持字符,數字,字符串甚至可以嵌套使用。同時他也可以進行分割 同上.
和string不同的是,列表中的元素是可以改變的。

>>>a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 將對應的元素值設置爲 [] 
>>> a
[9, 2, 6]

list有append(),count(obj),extend(seq)【在一個列表的末尾一次性追加另一個序列中的多個值】,insert(index,obj),remove(obj),reverse(),sort(key=None,reverse=false),pop(index)這些方法
list中的截取,如果第三個參數是負數,那麼表示的是翻轉字符串
列表可以嵌套使用。

def reverseWords(input):
     
    # 通過空格將字符串分隔符,把各個單詞分隔爲列表
    inputWords = input.split(" ")
 
    # 翻轉字符串
    # 假設列表 list = [1,2,3,4],  
    # list[0]=1, list[1]=2 ,而 -1 表示最後一個元素 list[-1]=4 ( 與 list[3]=4 一樣)
    # inputWords[-1::-1] 有三個參數
    # 第一個參數 -1 表示最後一個元素
    # 第二個參數爲空,表示移動到列表末尾
    # 第三個參數爲步長,-1 表示逆向
    inputWords=inputWords[-1::-1]
 
    # 重新組合字符串
    output = ' '.join(inputWords)
     
    return output
 
if __name__ == "__main__":
    input = 'I like runoob'
    rw = reverseWords(input)
    print(rw)

Tuple元組

和list類似,但是元組的元素不能修改,元組寫在小括號裏面,元素之間用逗號隔開,元組中的元素類型可以不相同。
元組元素雖然是不可以改變的但是他們可以包含可以改變的對象,比如list列表。
tup=()
tup=(20,) #單個元素的元組
可以用+進行拼接
函數 tuple(seq)把列表轉換成爲元組。

所謂的元組不可變

是指元組指向的內存中內容不可改變,當我們對一個元組進行重新的賦值的時候,元組會被綁定到新的對象,而不是修改了原來的對象。

Dictionary字典

字典是無序的對象集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。

字典是一種映射類型,字典用 { } 標識,它是一個無序的 鍵(key) : 值(value) 的集合。

鍵(key)必須使用不可變類型。

在同一個字典中,鍵(key)必須是唯一的。

#!/usr/bin/python3
 
dict = {}
dict['one'] = "1 - 菜鳥教程"
dict[2]     = "2 - 菜鳥工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 輸出鍵爲 'one' 的值
print (dict[2])           # 輸出鍵爲 2 的值
print (tinydict)          # 輸出完整的字典
print (tinydict.keys())   # 輸出所有鍵
print (tinydict.values()) # 輸出所有值
## 輸出結果
1 - 菜鳥教程
2 - 菜鳥工具
{'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
dict_keys(['name', 'code', 'site'])
dict_values(['runoob', 1, 'www.runoob.com'])

另外的構造方法
元組的刪除

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
del dict['Name'] # 刪除鍵 'Name'
dict.clear()     # 清空字典
del dict         # 刪除字典
 
print ("dict['Age']: ", dict['Age']) # 這裏是會報錯的,因爲字典已經被刪除
print ("dict['School']: ", dict['School'])
>>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
{'Taobao': 3, 'Runoob': 1, 'Google': 2}
 
>>> {x: x**2 for x in (2, 4, 6)}
{2: 4, 4: 16, 6: 36}
 
>>> dict(Runoob=1, Google=2, Taobao=3)
{'Runoob': 1, 'Google': 2, 'Taobao': 3}

函數:str(dict) 輸出字典,以可以打印的字符串表示
內置方法:

clear() delete all
copy()  	返回一個字典的淺複製
fromkey()   創建一個新的字典,以序列seq中的元素作爲字典的鍵,val爲字典所有鍵對應的初始值
get(key,default=None)返回指定鍵的值,如果值不在字典中那麼就返回default值
radiansdict.setdefault(key, default=None)
和get()類似, 但如果鍵不存在於字典中,將會添加鍵並將值設爲default
update(dict2)
把字典dict2的鍵/值對更新到dict裏
pop(key[,default])
刪除字典給定鍵 key 所對應的值,返回值爲被刪除的值。key值必須給出。 否則,返回default值。
popitem()
隨機返回並刪除字典中的最後一對鍵和值。
radiansdict.values()
返回一個迭代器,可以使用 list() 來轉換爲列表

Set集合(3.x)

用{}或者set()創建集合,空集合必須用set(),{}是創建空字典
set的基本功能室進行成員關係測試和刪除重複的元素

#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 輸出集合,重複的元素被自動去掉
# 成員測試
if 'Rose' in student :
    print('Rose 在集合中')
else :
    print('Rose 不在集合中')
# set可以進行集合運算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的並集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同時存在的元素
student.add('dong') # 添加元素
student.update(obj) # 也是添加元素,參數可以是列表元組字典等
student.remove(x) # 移除x 如果不存在那麼報錯
student.discard(x) #移除x 如果不存在不發生錯誤
pop() #隨機刪除

一些數據類型轉換

int(x [,base])
將x轉換爲一個整數

float(x)
將x轉換到一個浮點數

complex(real [,imag])
創建一個複數

str(x)
將對象 x 轉換爲字符串

repr(x)
將對象 x 轉換爲表達式字符串

eval(str)
用來計算在字符串中的有效Python表達式,並返回一個對象

tuple(s)
將序列 s 轉換爲一個元組

list(s)
將序列 s 轉換爲一個列表

set(s)
轉換爲可變集合

dict(d)
創建一個字典。d 必須是一個 (key, value)元組序列。

frozenset(s)
轉換爲不可變集合

chr(x)
將一個整數轉換爲一個字符

ord(x)
將一個字符轉換爲它的整數值

hex(x)
將一個整數轉換爲一個十六進制字符串

oct(x)
將一個整數轉換爲一個八進制字符串

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章