python 學習筆記

2021-06-10 16:46:23 字數 4938 閱讀 7096

第一章

八大要素

要素#1 資料型別

int 表示整數

str 表示字元

要素#2 物件引用

>>> x = "blue"

>>> print(x)

blue

>>> y = x

>>> print(y)

blue

>>> x,y,z

('green', 'green', 'green')

要素#3 組合資料型別

>>> x = ["a", "b", 3]

>>> x

['a', 'b', 3]

>>> x

['a', 'b', 3, 4]

>>> x.insert(2, "c")

>>> x

['a', 'b', 'c', 3, 4]

>>> x.remove("b")

>>> x

['a', 'c', 3, 4]

>>> x

['a', 'c', 3, 4, 'b']

要素#3 邏輯操作符

1身份操作符

所有的python變數實際上都是物件的引用

is操作符只需要對物件所在的記憶體位址進行比較,

is not 是對身份測試的反向測試

>>> a = ["abc",3,none]

>>> b = ["abc",3,none]

>>> a is b

false

>>> b = a

>>> a is b

true

>>> a = "something"

>>> b = none

>>> a is not none, b is none

(true, true)

2 比較操作符

< <= == != >= > 這些操作符對物件值進行比較

>>> a = "many paths"

>>> b = "many paths"

>>> a is b

false

>>> a == b

true

>>> a = 9

>>> 0 <= a <= 10

true

如果兩個資料型別無法確定,python動態型別機制將會輸出

異常錯誤訊息的回溯與追蹤資訊

3 成員操作符

對序列或集合這一類資料型別,比如字串,列表或元組我們

可以使用操作符in來測試成員關係, 

用not in 來測試非成員關係

>>> p = (4, "frog", 9, -33, 9, 2)

>>> 2 in p

true

>>> "dog"not in p

true

>>> phrase = "wild swans by jung chang"

>>> "j" in phrase

true

>>> "han" in phrase

true

對列表與元組, in操作符使用線性搜尋,

對字串資料型別, 使用成員運算子可以很方便

地測試任意長度的子字串

4 邏輯運算子

and or not, and與or都使用short-circuit邏輯,

並返回決定結果的運算元,而不是返回布林值.

>>> true and false

false

>>> five and zero

0>>> nought = 0

>>> zero or five

5>>> zero or nought

0要素#5 控制流語句

在python中一塊**,也就是說一條或多條語句組成的序列,稱為suite

pass 實際上是一條空語句

1> if語句  (冒號與else elif一起使用)

if boolean_expression1:

suite1

elif boolean_expression2:

suite2

...else:

else_suite

python使用縮進來標識其塊結構.

2> while 語句

while boolean_expression:

suite

break將控制流導向到break所在的最內層迴圈.

其用continue將控制流導向到迴圈起始處.

3> for...in 語句

for variable in iterable:

suite

for 迴圈也支援break和continue

for country in ["denmark", "finland"]

print(country)

4> 基本的異常處理

python的很多函式與方法都會產生異常,並將其作為

發生錯誤或重要事件的標誌.

異常也是物件.列印時會產生一條訊息文字

try:

try_suite

except exception1 as variable:

exception_suite1

...except exceptionn as variablen:

exception_suiten

每個except分支都可以處理多個異常

s = input("enter an integer:")

try:

i = int(s)

print("vaild integer entered:", i)

except valueerror as err:

print(err)

要素#6 算術操作符

+ - * / += *=

>>> seeds = ["sesame", "sunflower"]

>>> seeds += ["pumpkin"]

>>> seeds

['sesame', 'sunflower', 'pumpkin']

>>> seeds += "dur"

>>> seeds

['sesame', 'sunflower', 'pumpkin', 'd', 'u', 'r']

由於列表是可變的,使用+=後原始的列表物件會被修改,

因此沒有對seeds進行重新繫結.

固定資料型別具有比可變資料型別更加高效的潛力.

因為這些固定的資料型別從不改變.

要素#7 輸入輸出

python程式塊是嚴格按照縮排表示模組關係的.如果沒有對齊就會報錯

===begin sum2.py===

print("type integers, each followed by enter, or ^d or ^z to finish")

total = 0

count = 0

while true:

try:

line = input()

if line:

number = int(line)

total += number

count += 1

except valueerror as err:

print(err)

continue

except eoferror:

break

if count:

print("count = ", count, "total = ", total, "mean = ", total/count)

===end sum2.py===

要素#8 函式的建立與呼叫

def functionname(argument):

suite

引數是可選的,

執行def時,會建立乙個函式物件,同時建立乙個帶有指定名的物件引用.

由於函式也是物件,因此可以儲存在組合資料型別中,

並作為引數傳遞給其他函式.

===begin def.py===

def get_int(msg):

while true:

try:

i=int(input(msg))

return i

except valueerror as err:

print(err)

age = get_int("enter your age:")

print("your age is: ", age)

===end def.py===

python有大量的內建函式,其標準庫的大量模組中包含更多的函式.

python模組實際上就是包含python**的.py檔案,

有時候還包括變數等. 

要使用某個模組內的函式功能,必須先導入該模組,例如: import sys

要匯入乙個模組必須使用import語句,其後跟隨.py檔名,

不用寫副檔名,訪問其內部包含的任意函式,類以及變數,

例如:print(sys.argv) #用些建sys.argv.py程式.

sys模組提供了argv變數--該變數實際上是乙個列表,

其首項為該程式的名稱,

第二個引數及後續的引數為該程式的命令列引數.

$ python3 sys.argv.py kangqiao

['sys.argv.py', 'kangqiao']

標準模組名都是小寫字母,因此一般來說我們用大寫字母表示我們的模組

===begin rand2.py===***注意檔名不要合系統模組名一樣,這樣會導致未知錯誤***

import random

x=random.randint(1,6)

print("random x = ", x, "y = ", y)

===end rand2.py===

python常規的做法是將所有的import語句放在.py檔案的起始處,

建議首先匯入標準庫模組,之後匯入第三方庫模組,最後匯入自己的.

python教學筆記 python學習筆記(一)

1.eval 函式 eval是單詞evaluate的縮寫,就是 求.的值的意思。eval 函式的作用是把str轉換成list,dict,tuple.li 1 1,2,3 print eval li 1 di 1 print eval di 1 tu 1 2,4,6 print eval tu 1 執...

python學習筆記

coding utf 8 coding utf 8 應該像八股文一樣在每個指令碼的頭部宣告,這是個忠告 為了解決中文相容問題,同時你應該選擇支援 unicode 編碼的編輯器環境,保證在執行指令碼中的每個漢字都是使用 utf 8 編碼過的。cdays 5 exercise 3.py 求0 100之間...

Python 學習筆記

python 學習筆記 def run print running.def execute method method execute run result running.condition false test yes,is true if condition else no,is false ...