Python學習總結

Python經常使用的數據類型php

'兔子'   字符串類型;api

666   整型;閉包

3.14   浮點型;app

False,True   布爾型;函數

 

Python的經常使用操做符orm

邏輯運算符:and  or  not;對象

比較操做符:<  <=  >  >=  ==  !=;遞歸

算數操做符:+  -  *  /  //(地板除,即只保留整數位);three

正負號:+x  -x;rem

冪運算:**(-3 **3 == -(3 ** 3 )爲-27,3的三次方再取負值);

以上操做符優先級由上至下愈來愈高

 

Python的分支和循環

分支:

if 條件語句1:

  條件語句1成立時執行的語句

elif 條件語句2:

  條件語句2成立時執行的語句

else :

  不成立時執行的語句

循環:

while 條件語句:

  條件語句成立時執行的語句

  continue(跳出當前循環,繼續下一循環)/break(跳出全部的循環)

  print("continue執行後不會執行此條語句")

for 變量名 in 列表/元組/字符串等對象集合:(for循環的目的是將對象集合中的每個元素循環賦值給變量,即此變量遍歷對象集合中的全部元素)

  print 變量名

 

列表和元組:

Python列表中可放入各類類型的數據,好比list1 = ['兔子',666,3.14,Fasle],list1[2]爲3.14 

增長列表元素:list1.append('麼麼'),將在list1最後加入此元素;

          list1.extend(['肥兔子',88.67]),將在list1最後加入此列表,併合併爲一個列表

        list1.insert(3,'yyy'),將元素插入到列表的第三個位置(從0開始,即3.14以後)

刪除列表(元素):list1.remove(3.14),將3.14從list1中刪除

            del list1[1],將list1中的第二個元素刪除

           i =  list1.pop(3),將list1中的第四個元素刪除,並有返回值,返回值即爲刪除的元素

列表切片:list2 = list1[0:1]  將list1前兩個元素分離開組成一個新的列表,list1[:]全複製

Python元組與列表相似,但不可輕易修改

temp = (1,4,"888",False);temp = 1,4,"888",False;temp = (1,) ;temp = ()  均可以表示一個元組

修改元組的方法:temp = temp[:2]+(2,3,4)+temp[2:]   即先將元組切片再組合

 

Python字符串經常使用方法

str.capitalize()  將字符串首字符改成大寫,等等方法

 格式化方法format:

'{0} love {1} and {2}'.format('I','dahai','you')       即將{0}{1}{2}佔位符替換爲參數中的字符串:I love dahai and you

或'{a} love {b} and {c}'.format(a='I',b='dahai',c='you')  也可混合使用,但數字佔位符必定要在字母佔位符以前

 其餘格式化方法:

格式爲  '方法'  %  (元組,元素數與方法數一致)

%c格式化字符及其ASCⅡ碼:'%c %c' % (99,100) 打印出來是'c d',

%s格式化字符串:'%s %s %s' % ('I','LOVE','YOU')打印出爲'I LOVE YOU'

字符串格式化符號含義、格式化操做符輔助指令、字符串轉義字符含義

 

函數:

①定義一個函數:def Function1():

        print("這是一個沒有參數的函數")

使用:Function()

無需在括號內傳入參數便可執行此函數體內的方法

②定義一個函數:def Function2(num1,num2):

        return num1+num2

使用1:Function2(1,2)

num1,num2爲形式參數,1,2爲實際參數,這個函數的返回值是num1+num2

使用2:Function2(num2=2,num1=1)

能夠講形參和實參結合,以便於觀察,防止出現順序錯誤

③定義一個函數:def Function3(*param,exp):

        print("參數的長度:",len(param))

        print("第一個參數是:",param[0],exp)   #注意print方法中鏈接每一個參數用 ‘ , ',不是‘’+‘’

使用:Function3(1,"dahai",666,99.8,True,exp = 33)

此函數爲收集函數,即形參的個數沒法肯定,可把全部實參當作一個元祖來看待,當收集函數的參數和其餘參數同時存在時(好比exp),則須要在傳遞實參時定義exp的值

局部變量、全局變量:

局部變量是指在函數內部的變量,函數以外沒法調用此變量

全局變量是指在整個程序中均可調用的變量

def Fun1(x,y):

   z = x + y

     #globle z1

      z1 = 20

   return z

z1 = 10

z2 = Fun1(10,5)

print(z1,z2)

這裏x,y,z和第一個z1爲局部變量,第二個z1,z2爲全局變量,且結果爲10,,15,由於Fun1中的z1只在方法中生效,方法外又會指向原z1

除非在第一個z1以前加,globle z1   做用是使z1變爲一個全局變量,globle(全局的),便可在函數內部修改z1的值

內嵌函數和閉包:

def fun1(x):

  def fun2(y):

    return x+y

  return fun2()

上面這種形式爲閉包,即內嵌函數中有調用其外部變量,使用方法:

i = fun1(10)  #此時type(i)爲方法類型function,即爲fun2

i(5)      #此時傳入的變量5即爲fun2中的y值

或  fun1(10)(5)

不可直接使用fun2

def fun1():

  x = 10

  def fun2(y):

    nonlocal x

    x ^= x

  return fun2()

上面這個函數fun1沒法直接使用,由於在調用fun1時首先調用的是其內嵌函數fun2,但fun2的x爲fun1的局部變量,沒法在fun2中使用,

此時須要加入相似globle的關鍵字nonlocal x ,做用是使x變爲一個非局部變量,nonlocal(非局部的)便可使fun2訪問到fun1中的x

匿名函數(lambda)

def fun1(x):

  return x * 5 +8

可寫成

g = lambda x : x * 5 + 8

使用時

g(5)  #便可將5傳入匿名函數g,而後經過方法計算出結果33,並返回

若是傳入多個參數,則能夠寫爲 g = lambda x,y : x + y,用英文逗號將參數分開

映射函數map():map(function,iterable) 有兩個參數,第一個參數爲函數,第二個參數爲須要迭代的數據

目的是經過將第二個參數迭代傳入第一個函數中進行計算,將得出的全部值傳入一個新的列表中,好比

list(map(lambda x : x * 2 , range(10)))  將0-9之間的全部數據傳入前面的匿名函數中計算,計算結果爲[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

過濾器函數filter:filter(function or None,iterable)  有兩個參數,第一個參數爲None或函數,第二個參數爲須要迭代的數據,

目的是經過將第二個參數迭代傳入第一個函數中進行計算,將得出的真值傳入一個新的列表中,好比

當第一個參數爲函數時:

list(filter(lambda x : x % 2,range(10)))   此行代碼的目的是將0-9之間的奇數傳入列表中,打印結果爲[1,3,5,7,9]

當第一個參數爲None時:

list(filter(None,[0,1,True,False]))   輸出爲[1,True]  

這兩個函數的區別爲map()是將全部參數進行函數運算後生成新的列表,filter()是將全部參數進行函數運算後取其爲真的值(1,True)生成新的列表

遞歸:1.有調用函數自身的行爲,2.正確的返回值,且有中止的條件

好比階乘函數:

def jiecheng(x):
  result = x
  for i in range(1,x):
    result *= i
  return result                              #此方法即x爲須要階乘的最後一位數,如x=5,須要計算1*2*3*4*5的結果

或def jiecheng(x):

  if x == 1:

    return 1

  else:

    return x * jiecheng(x-1)

好比菲波那切數列:

def fun1(n):
  if n == 1 or n == 2:
    return 1
  else:
    return fun1(n-1)+fun1(n-2)   #即從第三個數字開始每一個數字等於前兩個數字之和

 

字典:

dict1 = {'大海':'29','麗麗':'25','猴子':'29'}   #用‘:‘’隔開須要匹配的key(鍵)和value(值),用‘,‘’隔開每對映射,並用大括號括起

name = input("請輸入要查詢年齡的人的名字:")

print('%s的年齡是%s' % (name,dict1[name]))

建立一個字典:

①list1 = [(1,'one'),(2,'two'),(3,'three'),(4,'four')]   #列表

temp = (1,'one'),(2,'two'),(3,'three'),(4,'four')  #元組

dict(((1,'one'),(2,'two'),(3,'three'),(4,'four')))    #字典

#注意括號個數,使用方法爲dict(mapping),mapping爲元組或列表,但元組或列表的元素需成對出現,因此也可寫成dict(list1)或dict(temp)  

②dict4 = dict(dahai=29,lili='25')

#注意只有此種方法鍵不能用字符串、整型、浮點型等,不然會報錯,只能夠用不加引號的字符串,加到字典裏以後會自動變爲字符串

添加項:

dict4['小海'] = '0'   #'小海'爲鍵,且插入的位置不固定

修改項:

dict4[‘dahai’] = 31  #修改的鍵需存在

相關文章
相關標籤/搜索