1. 程式人生 > >Python學習總結-基礎篇

Python學習總結-基礎篇

正在學習python中,收集整理下學習筆記,以供參考。本篇主要為基礎語法。

一、基礎知識

1、資料型別和變數

python是動態語言,不像java的靜態語言那樣先宣告變數的資料型別才能使用,直接對變數賦值即可


2、字元編碼

  • 統一用utf-8即可變長的Unicode

其中:ord()可以獲取字元的整數表示;

           chr()可以將編碼轉換為對應的字元。

  • 關於格式化:

%s對應字串

%d對應整數

%f對應浮點數

%x對應十六進位制整數


3、list和tuple的區別

  • list使用[]表示,tuple使用()表示;
  • list稱列表是有序集合,可以隨時增加和刪除裡面的元素,有append()——追加、insert()——插入、pop()——刪除方法;
  • tuple稱元祖是有序列表,一旦初始化就不能修改,沒有append()、insert()方法


4、dict和set的區別

  • dict稱字典是鍵值對(key-value),可以有極快的查詢速度;一個key只能對應一個value,有get()和pop()方法,且key是不可變物件
  • set稱集合是一組key的集合,沒有value,沒有重複值,有add()和remove方法


5、迴圈

  • 使用for...in...
  • break和continue的區別:break是提前結束當前迴圈,continue是結束本次迴圈從頭開始


6、函式

1)定義函式:

def 函式名(引數):

    return ...

eg.

def my_abs(x):

    if x>10:

        return x


2)函式引數

  • 位置引數:按照傳入的順序依次呼叫eg.   power(x,n)
  • 預設引數:預設引數指向不變物件eg.power(x,n=2)
  • 可變引數:*args,傳入的引數個數是可變的,是個元組
  • 關鍵字函式:**kwargs,擴充套件函式的功能,呼叫時除了必選引數,也可以傳入任意個關鍵字引數,是個字典
  • 命名關鍵字引數:*,args,限制關鍵字引數的名字,命名關鍵字引數必須傳入引數名


3)遞迴函式

自己呼叫自己,缺點是很可能會棧溢位

尾遞迴:只在return時呼叫自己,且不含表示式


二、高階特性

1、切片[]

切片可用來取list或tuple的指定索引範圍

eg.L[0:3]指取前3個元素,從下標0開始到下標3為止,但不包括下標3


2、迭代:通過for迴圈遍歷

for...in...可以迭代list或tuple或字串

  • dict迭代,一般預設迭代的是key;通過for value in d.values()可以迭代value;通過for k,v in d.items()可以迭代key和value


3、生成器和迭代器

  • 生成器:是一邊迴圈一邊計算的機制

建立生成器的方法:1)將列表生成式的[]改為():eg g=(x*x for x in range(10))

                               2)使用yield的函式

  • 迭代器:是訪問集合元素的一種方式,可以被next函式呼叫並不斷返回下一個值的物件,特點是不需要事先準備好整個迭代過程中的所有元素,僅在迭代到某個元素時才開始計算該元素,適合遍歷比較大的集合