python基礎語法學習筆記
阿新 • • 發佈:2019-02-08
port 鍵值 dict 不重復 discard 你好 特殊 append 不存在
2019-02-07
- 標識符:在 Python 裏,標識符由字母、數字、下劃線組成。在 Python 中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。Python 中的標識符是區分大小寫的。以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入。以雙下劃線開頭的 __foo 代表類的私有成員,以雙下劃線開頭和結尾的 __foo__ 代表 Python 裏特殊方法專用的標識,如 __init__() 代表類的構造函數。Python 可以同一行顯示多條語句,方法是用分號 ; 分開。
- 多行語句:Python語句中一般以新行作為語句的結束符。但是我們可以使用斜杠( \)將一行的語句分為多行顯示。
- 字符串輸出:
#字符串輸出
str="hello world!!!"
print (str)
print(str[1:])
print(str[:2])
print(str[2:4])
print("end") - 數字(number):int,float,complex。
- 數字類型轉換:int(x),float(x),complex(x),complex(x,y)。
- 字符串: str="123456" ;str=‘123456‘。
- 格式化輸出:
str="hello world!!!"
str1=‘17317753127‘
print("我手機號碼是:{0},你好世界的英文是:{1}".format(str1,str)) - 列表:列表元素可以重復,可以更改。
list=["list",‘list‘,‘list‘]
list2=[1,2,3,3,3]
print(list,list2) 輸出結果:[‘list‘, ‘list‘, ‘list‘] [1, 2, 3, 3, 3] 刪除列表元素:del (list[1]) - 元祖:元素不可更改,靜態的。可以拼接。可以使用del語句來刪除整個元組,刪除後不存在定義的元祖,可以重復。
tup = (‘gogo‘,‘bibi‘,1,2,2)
tup2 = (1,2)
tup3=tup+tup2;print (tup3)
print ("tup3:{0}".format(tup3))
del (tup3) - 字典:鍵值對,鍵不可重復,可以修改,刪除。
dict={‘name‘:‘xu‘,‘phone‘:‘17317753127‘,‘age‘:26}
print (dict[‘name‘],dict[‘age‘])
print(‘全部輸出:‘,dict)
#修改字典
dict[‘age‘]=28;print(dict[‘age‘])
#刪除字典
del dict[‘name‘]
print(dict[‘name‘]) #刪除字典name
dict.clear() #清空字典
del dict
print(dict) - 集合:集合(set)是一個無序的不重復元素序列,創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
a = set() #創建一個空集合
a = {‘a‘,‘b‘,‘c‘,‘a‘}
b = set((1,2,3,4))
print(a)#不會輸出兩個a,可以去重復元素。
#集合基本操作
a.add(‘x‘) # 添加元素
a.update(‘aa‘) #添加元素
a.remove(‘x‘) #移除元素,不存在會發生錯誤
b.discard(1) #移除元素,不存在會發生錯誤
a.pop() #隨機刪除元素 - 條件控制:if ..else..
value=‘123‘
if value==‘123‘:
print(value)
else:print(‘456‘) - 循環語句:while ....else for x in xx:
n=5
while n<=10:
n=n+1
print(n)
else: print(‘循環結束‘)
print(n)
for a in range(10):
print(a,end=‘,‘)
if a>=9:
print (‘結束循環‘) - 叠代器與生成器:叠代是Python最強大的功能之一,是訪問集合元素的一種方式。叠代器是一個可以記住遍歷的位置的對象叠代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。叠代器只能往前不會後退。叠代器有兩個基本的方法:iter() 和 next()。字符串,列表或元組對象都可用於創建叠代器:在 Python 中,使用了 yield 的函數被稱為生成器(generator)。跟普通函數不同的是,生成器是一個返回叠代器的函數,只能用於叠代操作,更簡單點理解生成器就是一個叠代器。在調用生成器運行的過程中,每次遇到 yield 時函數會暫停並保存當前所有的運行信息,返回 yield 的值, 並在下一次執行 next() 方法時從當前位置繼續運行。調用一個生成器函數,返回的是一個叠代器對象。
c=set((1,2,3,4,5))
it=iter(c) #創建一個叠代器對象
for x in it:
print(x,end=‘,‘) - python 數據結構:
def trans(list): #矩陣轉換函數(只適用於規則矩陣)
tran_end=[]
n=list
lenrow=n.__len__()
m=n.__iter__().__next__()
lencol=m.__len__()
print("此矩陣是{0}*{1}矩陣".format(lenrow,lencol))
print("轉換前矩陣:",n)
print("····矩陣轉換開始·····")
#tran_end=[[row[i] for row in n]for i in range(lencol)]
for i in range(lencol):
tran_end.append([row[i] for row in n])
print(‘····矩陣轉換結束·····‘)
print("轉換後矩陣:",tran_end)
trans(list1)#不規則矩陣轉換
list1=[[0,2],[1],[4,5,6],[]] #4*3矩陣
def change(list):
n = list
m=[]
maxrow=n.__len__()
for row in n:
a=row.__len__()
m.append(a)
maxcol=max(m)
print(maxrow,maxcol)
# 檢測每一個row ,若一個row的len<maxcol 則填充元素直至達到maxcol
new_list=[];
for row_list in n:
for i in range(maxcol):
if row_list.__len__() < maxcol:
row_list.append(0)
#print(row_list)
print(row_list)
new_list.append(row_list)
print(new_list)
new_list=[[row[i] for row in new_list] for i in range(maxcol)]
print(new_list)
change(list1)
python基礎語法學習筆記