Python學習筆記1 python的關鍵要素

2021-06-29 01:53:38 字數 2970 閱讀 9436

#1 資料型別

python使用int型別表示整數,使用str型別表示字串(unicode字串行)

ps:python所能表示的整數大小只受限於機器記憶體,而非固定數量的位元組數。這是由於:python使用的是unicode編碼,因此字串中的符號不侷限於ascii字元

#2 物件引用

變數與物件引用

x=「bule」

執行這條語句時,python會建立乙個str物件,其文字內容為「bule」,同事還建立乙個名為『x』的物件引用,x引用的就是這個str物件。可以說:變數想已經被分配了『bule』這一字串。

python中『=』的作用是將物件引用與記憶體中的某物件進行繫結,如果物件存在,就簡單進行重繫結;如果物件引用未存在,就由『=』操作符建立物件引用。

ps:

1、python標示符大小寫敏感

2、物件引用的名稱,不能喝任何python關鍵字相同,且必須以字母或下劃線引導,其後跟隨0個或多個非空格字元、下劃線、數字。

#3 組合資料型別

元組與列表

元組是固定的,建立後不可改變

列表是可變的,可以插入或移除資料項

元組使用逗號建立:

>>>「one」,

('one',)

ps:

1、如果某個元組只有乙個資料項,又需要使用圓括號,就仍然必須使用逗號,如(1,)使用空的.

2、空元組則使用空的()建立

3、逗號還可用於在函式呼叫時分隔引數,因此,如果需要將元組常值作為引數傳遞,就必須使用括號對其進行封裝,以免混淆:((1,))

列表用方括號建立:

>>>[1,2]

ps:

1、列表與元組並不真正儲存資料項,而是存放物件引用。

2、建立列表與元組是(以及在列表中插入資料項時),實際上是使用其給定的物件引用的副本。在字面意義項(比如整數或字串)的情況下,會在記憶體中建立適當資料型別的物件,而存放在列表或元組中的才是物件引用。

#4 邏輯操作符

4.1 身份操作符

>>>a=『bule』

>>>b='bule'

>>>a is b

false

>>>a=b

>>>a is b

true

is操作符只需要對物件所在的記憶體位址進行比較——同樣的位址儲存的是同樣的物件。

none通常用作位置標記值,指示「未知」或「不存在」

>>>a=『bule』

>>>b=none

>>>a is not none,b is none

(true,true)

ps:身份操作符的作用是檢視兩個物件引用是否指向相同的物件或檢視某物件是否為none

4.2 比較操作符

4.3 成員操作符

in,not in

>>>a=『bule』

>>>『b』 in a

true

4.4 邏輯操作符

and ,or ,not 

>>>five=5

>>>two=2

>>>five and two    #取後面乙個

>>>five or two       #取前面乙個

ps:1、and與or都使用short-circuit邏輯,並返回決定結果的運算元,而不是返回布林值(除非實際上就是布林運算元)

2、在布林上下文中,前例結果為都是true 

#5 控制流語句

if語句

if lines<1000:

print('small')

elif lines<1000:

print('medium')

else:

print('large')

while語句

whiletrue:

item=get_next_item()

if not item:

break

process_item(item)

for...in 語句

for country in ['beijing','london']

print(country)

基本異常處理

try:

try_suite

except exception1 as variable1:

exception_suite1

except exceptionn as variablen:

exception_suiten

#6 算術操作符

+ ,- , *, /

a+=8與a=a+8實際上是一樣的,但是

ps:1、int資料型別是固定的,即一旦賦值,就不能改變。當固定的物件使用增強的賦值操作符時,實際上是建立乙個物件來儲存結果,之後,目標物件使用重新繫結,以便引用上面建立的結果物件,而不是引用以前的物件。

2、a  operator=b 與a  =a operator b 並不完全一致。前者只查詢一次a的值,因而具有更快的可能性。

此外,如果a是乙個複雜的表示式(例如,列表元素的索引位置計算,如items[offset+index]),那麼使用增強的賦值操作時後者較少出錯。這是因為如果計算過程需要改變,那麼維護者只需要改變一次,而不是兩次。

????

>>>name='john'

>>>name+'doe'

'johndoe'

>>>name+='  doe'

>>>name

'john  doe'

ps:列表是可變的,使用+=後,原始的列表會被修改,因此不需要進行重新繫結。

#7 輸入/輸出

input()

#8 函式的建立與呼叫

def functionname(arguments):

sutie

ps:arguments是可選的,如果有多個引數,就必須使用逗號進行分隔,每個python函式就有乙個返回值,預設情況下為none。除非我們使用語法return value來從函式返回,此時value是實際的返回值,返回值可以僅僅是乙個值,也可是一組值。

Python學習筆記(1)

在工作的業餘時間學習了一下python,個人覺得如果有下liunx下工作的習慣話,寫一些小的python指令碼很容易提高工作效率,以下主要是針對python與c 的區別而寫的一些學習筆記,共同溝通一起進步。1 python中不用 表示語句塊,而是用 來表示乙個塊的開始,而用縮進來表示各個語句塊之間的...

Python 學習筆記 1

2.讀了 python簡明教程 前面5章內容,很久之前看過一遍,現在是重溫,加做練習。教程是python v2.x,許多地方都不一樣了 help,print,exit 需要以函式的標準形式來替換,help print exit 之前的 raw input 被去掉,統一作input 3.python ...

python學習筆記(1 )

1 在確定自己不會匯入多個同名函式 從不同的模組匯入 的情況下,可以使用 from math import sqrt from 模組 import 函式 這樣就可以直接使用sqrt 9 而不用每次都用math.sqrt 9 2 可以使用變數來引用函式 及python中的大多數物件 如 import ...