python基礎語法記錄

爲了更加系統的學習和了解Python,瞭解應用Python到完整項目的基本流程,自己又再一次學習了Python。

一、基礎數據結構

1.字符串

字符串是由數字、字母、下劃線組成的一串字符,並使用”“或‘’將其包裹。
可以使用方括號來截取字符串,格式爲:[起始位置:結束位置:步長]。
常用字符串函數join(),len(),replace(),strip()等

  • Join()函數:連接字符串數組。將字符串、元組、列表中的元素以指定的字符(分隔符)連接生成一個新的字符串。
  • replace()函數:用於把字符串中指定的舊子字符串替換成指定的新子字符串,如果指定 count
    可選參數則替換指定的次數,默認全部替換。
    用法:S.replace(old,new[,count=S.count(old)])
  • strip()方法:用於移除字符串頭尾指定的字符(默認爲空格或換行符)或字符序列。

2.列表

把逗號分隔的不同的數據項使用方括號括起來就創建了一個列表。
可以使用下標索引來對列表中的值進行訪問和修改,同樣你也可以使用方括號的形式進行元素的截取。
常用的列表函數:append(),extend(),pop(),remove(),reverse(),sort()等

  • extend() 函數用於在列表末尾一次性追加另一個序列中的多個值(用新列表擴展原來的列表)。
  • append()函數只追加一個  pop() 函數用於移除列表中的一個元素(默認最後一個元素),並且返回該元素的值
  • remove() 方法通過指定元素的值來移除列表中某個元素的第一個匹配項,如果這個元素不在列表中會報一個異常

3.元組

元組使用小括號,列表使用方括號。
元組與列表類似,不同之處在於元組的元素不能修改
常用的元組函數:len(),min(),max(),tuple()

4.字典

字典的每個鍵值對用*:*分割,每個對之間用逗號,分割,整個字典包括在{}中
不允許同一個鍵出現兩次。鍵必須不可變,所以可以用數字、字符串、元組充當。
常用的**字典函數:get(),items(),keys()**等。

二、函數

1、函數定義
函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號()。
函數內容以冒號起始,並且縮進。
任何傳入參數和自變量必須放在圓括號中間,圓括號之間可以用於定義參數。
return[表達式]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。
2、函數調用
使用函數名直接調用函數。
如果定義的函數存在參數,調用的時候一定要給出,否則會報錯。

三、面向對象

Python是一門面向對象的語言
類、類變量、數據成員、方法重寫、局部變量 、實例變量、繼承、實例化、方法 、對象

  • 定義一個類格式:

    class 類名:
    方法列表

  • 創建對象,格式:
    對象名 = 類名()

對象和類都可以有自己的屬性

  • 繼承
    class 子類名(父類):
    方法列表(如果想要重寫函數,直接寫一個一模一樣的函數即可,當然函數的實現不同)

  • 類的專有方法
    (1) init()構造函數,在生成對象時調用
    如: def __init__(self,val1,val2)
    (2)del()析構函數。釋放對象時用

四、判斷循環條件

1、python條件語句
if語句
格式:

  if xxx1:
  	事件1
  elif xxx2:
  	事件2
  else:
  	事件3

PS :Python裏“elif”會用得比較多,因爲Python沒有switch…case語句
2、python循環語句
for循環和while循環。
循環控制語句可以更改語句執行的順序。
支持break、continue語句控制循環。

五、生成器

由於設備內存的限制,列表容量有限,且如果僅僅只是訪問列表前面幾個元素,列表後面的元素則拜拜浪費空間。
所以,不必創建完整列表,列表元素可以按照某種算法推算出來,可以一邊循環一邊計算的機制,即生成器generator
1、迭代器
迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會後退。
迭代器有兩個基本的方法:iter()和next()
2、生成器
在python中,使用了yield的函數被稱爲生成器(generator)。
在調用生成器運行的過程中,每次遇到yield時函數會暫停並保存當前所有的運行信息,返回yield的值, 並在下一次執行next()方法時從當前位置繼續運行。

生成器的定義

#列表
L= [x*2 for x in range(5)]
#生成器最簡單的寫法
G= (x*2 for x in range(5))
#生成器調用(調用幾次生成幾次)——但一般不用這樣的寫法
print(next(G))
#常用生成器
#通過生成器生成斐波那契數列(後一個數等於前兩個數相加)
def fib(number): 
    n,a,b = 0, 0, 1    
   	while n < number:         
	   	yield b        #在循環體裏用yield進行返回就是一個生成器
	   	a, b = b, a + b        
	   	n = n + 1  
#調用生成器(用循環體調用)
for i in fib(10):
	print(i)

生成器例子——batch生成器

#條件
dataset= [x for x in range(100)]
batch_size = 6(就是每次取出6個數)
#實現
def  get_batch(dataset,batch_size ):
	

參考:天學網人工智能學院學習視頻

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