1. 程式人生 > >Python基本知識點備忘

Python基本知識點備忘

注:本篇博文內容總結自廖雪峰老師的python教程:

http://www.liaoxuefeng.com/

1.如果想直接執行py檔案,應該在文字開頭加入#!/usr/bin/env python3,然後賦予許可權chomod a+x hello.py

2.print()函式裡可以輸出多個字串,用逗號隔開,輸出時,逗號被替換成空格。

3.python大小寫敏感!且縮排最好使用4個空格,最好在文字編輯器裡將Tab自動換為4個空格。

4.轉義字元\:pint(' I\'m ok.'),如果需要的轉義字元比較多,可以用r` `表示''內部字串預設不轉義。

5.a='ABC',此語句首先在記憶體裡建立了'ABC'字串,然後建立了一個名為a的變數,並指向'ABC'。

6.除法有兩種,一是/,而是//。/結果是浮點數,//結果是整數。

7.ASCII編碼和Unicode編碼的區別:ASCII編碼是1個位元組,而Unicode編碼通常是2個位元組。為了節約空間,UTF-8編碼把一個Unicode字元根據不同的數字大小編碼成1-6個位元組,常用的英文字母被編碼成1個位元組,漢字通常是3個位元組,只有很生僻的字元才會被編碼成4-6個位元組。可以看出,ASCII實際上可以被看成是UTF-8的一部分,實現了向下相容功能。 可見,以Unicode或者UTF-8編碼時,可以支援多語言,而後者可實現空間壓縮,更適合於傳輸。讀到記憶體裡的資料一般以Unicode編碼,而存在磁盤裡的資料一般以UTF-8編碼。

8.為了保證中文不亂碼,在開頭應加入# -*- coding: utf-8 -*-,統一以UTF-8格式進行編碼。

9.list列表,符號[],內容可增可減,索引號從0開始,索引號-1表示最後一個元素,類似可倒推-2、-3等,常用方法:append()、pop()、insert(),並且,元素的資料型別也可以不同,甚至包含另一個list。

10.tuple元組,符號(),內容不可更改,其它的跟list的方法一樣。要注意的是,當定義只有一個元素的tuple時,必須t=(1,),逗號不能少,不然t會被賦值整數1。特殊情況:當tuple有list元素時,這個list裡的元素是可變的。

11.input()

輸入進來的始終是字串,可以使用int(str)方法將字串轉為整數。

12.for...in...迴圈可以依次把list或者turple裡的每一個元素給迭代出來。range(n)生成的是從0到n-1的數,list(range(n))可將生成的序列轉為list。

13.print列印語句要注意,引用變數列印,用的是%,例如print("Hello,%s!" % name)

14.python內建字典dict,其他語言也叫map,使用鍵值對(key-value)形式儲存,它是根據key計算出value的記憶體地址,可以直接取得value,所以速度非常快。要往dict里加資料,可以直接d[key]=value這種形式自動插入。但如果讀取d[key]時,key不存在,那麼就會報錯,這時可以通過get方法返回一個預設值,d.get(key,-1)。要注意的是,key必須是一個不可變物件,用list做key就會報錯。另外,dict內部存放的順序和key放入順序是沒有關係的。缺點是,記憶體佔用過多。

15.set與dict類似,也是一組key的集合,但不儲存value。由於key不能重複,所以,在set中,沒有重複的key。set可以看成數學意義上的無序和無重複元素的集合,因此,兩個set可以做數學意義上的交集&、並集|等操作。

16.對於不變物件來說,呼叫物件自身的任意方法,也不會改變該物件自身的內容。相反,這些方法會建立新的物件並返回,這樣,就保證了不可變物件本身永遠是不可變的。例如對str物件進行方法操作,其不會改變本身str,而是返回一個新的被操作後的str。



檢視原文:http://www.wyblog.cn/2016/11/20/python%e5%9f%ba%e6%9c%ac%e7%9f%a5%e8%af%86%e7%82%b9%e5%a4%87%e5%bf%98/