1. 程式人生 > >第二天(Python打卡)

第二天(Python打卡)

數值型別:整型,浮點型,布林型別,e記法(結果為浮點型)

型別轉換:int(),float(),str()

獲得關於型別的資訊:type(), isinstance()

type(a)
isinstance(a,str)

算數操作符:+,-,*,/(區別:5/2=2.5),%,**(冪運算),//(地板整除)

優先順序問題:冪運算>正負號>算數操作符>比較操作符(允許3<4<5)>邏輯運算子(not,and,or)

可有效避免懸掛else(因嚴格縮排):

if(...):
    if(...):
        print("...")
else:
    print("...")
條件表示式(三元操作符):
x,y=4,5
if x<y:
    small = x
else:
    small = y
等價於 
small = x if x<y else y
斷言:當條件為假時,程式自動崩潰並丟擲AssertionError的異常,用於確保程式中的某個條件一定為真才能讓程式正常工作。
e.g.  asset 3>4

for迴圈:  

for 目標 in 表示式:
    迴圈體
range() :  range([start,]stop[,step=1]),生成數字序列。
for i in range(5):
    print(i)

for i in range(1,7):
    print(i)

兩個關鍵的語句:break,continue

序列:列表,元組和字串的共同點:都可以通過索引得到每一個元素;預設索引值都是從零開始;可以通過分片的方法得到一個範圍的元素的集合;有很多共同的操作符(重複操作符,拼接操作符,成員關係操作符)

列表:

            列表推導式:a=[x for x in range(100) if not (x%2) and x%3]

            向列表中新增元素:append(): 插入一個元素。

                                          extend():利用一個列表插入多個元素。

                                          insert(索引,元素)

            分片(切片):

list[:3]
list[3:]
list = [1,2,3,4]

            區別list1與list2:
list1 = list[:]
list2 = list              

元組:戴上了枷鎖的列表

字典:

        推導式:{i : i%2 == 0 for i in range(10)}

集合:推導式:{i for i in range(10)}

生成器推導式:(i for i in range(10) if i%2)

列舉 enumerate(可迭代物件):

>>> list(enumerate(list2))
#[(0, 3), (1, 54), (2, 6), (3, 3), (4, 4)]

zip():    

>>>a = [1,2,3,4,5,6,7,8]
>>>b = [1,2,3,4,5]
>>>list(zip(a,b))
#[(1,1),(2,2),(3,3),(4,4),(5,5)]
函式引數:

    預設引數一定要用不可變物件,如果是可變物件,程式執行時會有邏輯錯誤!

    要注意定義可變引數和關鍵字引數的語法:

    *args是可變引數,args接收的是一個tuple;

def sum1(*num):
    result = 0
    for i in num:
        result += i
    return result

n = [1,2,3,4]
s = sum1(*n)
print(s)

    **kw是關鍵字引數,kw接收的是一個dict。

def sum2(**num):
    for key,value in num.items():
        print(key+"-->"+value)

n1 = {'1':'one','2':'two','3':'three'}
sum2(**n1)

     以及呼叫函式時如何傳入可變引數和關鍵字引數的語法:

    可變引數既可以直接傳入:func(1, 2, 3),又可以先組裝list或tuple,再通過*args傳入:func(*(1, 2, 3))

    關鍵字引數既可以直接傳入:func(a=1, b=2),又可以先組裝dict,再通過**kw傳入:func(**{'a': 1, 'b': 2})

區域性變數與全域性變數:如一定要用區域性變數修改全域性變數用global。

匿名函式lambda:  

lambda 引數 :返回值表示式
過濾器  filter(過濾條件 ,過濾物件):過濾False,剩下 True。

對映map(對映關係,對映物件)          

>>>list(filter(lambda x : x%2,range(10)))
#[1,3,5,7,9]
>>>list(map(lambda x : x*2,range(10)))
#[0,2,4,6,8,10,12,14,16,18]