【Python】基礎知識
1.
python腳本語言的第一行,目的就是指出,你想要你的這個文件中的代碼用什麽可執行程序去運行它
#!/usr/bin/python 是告訴操作系統執行這個腳本的時候,調用/usr/bin下的python解釋器;相當於寫死了python路徑;
#!/usr/bin/env python 這種用法是為了防止操作系統用戶沒有將python裝在默認的/usr/bin路徑裏。當系統看到這一行的時候,首先會到env設置裏查找python的安
裝路徑,再調用對應路徑下的解釋器程序完成操作。會去環境設置尋找python目錄。
2.
Python中默認的編碼格式是 ASCII 格式,文件開頭加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 就可以支持中文了。
3.
以下劃線開頭的標識符是有特殊意義的。
以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的接口進行訪問,不能用 from xxx import * 而導入;
以雙下劃線開頭的 __foo 代表類的私有成員,只能允許這個類本身進行訪問。
以雙下劃線開頭和結尾的 __foo__ 代表 Python 裏特殊方法專用的標識,如 __init__() 代表類的構造函數。
4。
Python語句中一般以新行作為為語句的結束符。但是我們可以使用斜杠( \)將一行的語句分為多行顯示。
Python 可以使用引號( ‘ )、雙引號( " )、三引號( ‘‘‘ 或 """ ) 來表示字符串,引號的開始與結束必須的相同類型的。
其中三引號可以由多行組成,編寫多行文本的快捷語法,常用語文檔字符串,在文件的特定地點,被當做註釋。
多行註釋使用三個單引號(‘‘‘)或三個雙引號(""")
函數之間或類的方法之間用空行分隔,表示一段新的代碼的開始。類和函數入口之間也用一行空行分隔,以突出函數入口的開始。空行也是程序代碼的一部分。
print 默認輸出是換行的,如果要實現不換行需要在變量末尾加上逗號
5.
python的字串列表有2種取值順序:從左到右索引默認0開始的,最大範圍是字符串長度少1從右到左索引默認-1開始的,最大範圍是字符串開頭
從字符串中獲取一段子字符串的話,可以使用變量 [頭下標:尾下標],就可以截取相應的字符串,其中下標是從 0 開始算起,可以是正數或負數,下標可以為空表示取到頭或尾。s = ‘ilovepython‘; s[1:5]的結果是love。s[5]是取不到的,也就是說取值區間為左閉右開
L[-2] 讀取列表中倒數第二個元素
6.
is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False
id() 函數用於獲取對象內存地址
7.
數據類型是不允許改變的,這就意味著如果改變 Number 數據類型的值,將重新分配內存空間。
在 python 中,strings, tuples, 和 numbers 是不可更改的對象,而 list,dict 等則是可以修改的對象
不可變類型:變量賦值 a=5 後再賦值 a=10,這裏實際是新生成一個 int 值對象 10,再讓 a 指向它,而 5 被丟棄,不是改變a的值,相當於新生成了a。
可變類型:變量賦值 la=[1,2,3,4] 後再賦值 la[2]=5 則是將 list la 的第三個元素值更改,本身la沒有動,只是其內部的一部分值被修改了。
Python不支持單字符類型,單字符也在Python也是作為一個字符串使用。可以使用引號‘‘或""來創建字符串
列表的數據項不需要具有相同的類型
列表對 + 和 * 的操作符與字符串相似。+ 號用於組合,* 號用於重復
8.
python 函數的參數傳遞:
不可變類型:類似 c++ 的值傳遞,如 整數、字符串、元組。如fun(a),傳遞的只是a的值,沒有影響a對象本身。
比如在 fun(a)內部修改 a 的值,只是修改另一個復制的對象,不會影響 a 本身。
可變類型:類似 c++ 的引用傳遞,如 列表,字典。如 fun(la),則是將 la 真正的傳過去,修改後fun外部的la也會受影響
python 中一切都是對象,嚴格意義我們不能說值傳遞還是引用傳遞,我們應該說傳不可變對象和傳可變對象。
【Python】基礎知識