1. 程式人生 > >【Python】基礎知識

【Python】基礎知識

數據 文件 專用 一切都 元組 內存 引用傳遞 asc ilo

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】基礎知識