python 集合、函數

  • 2020 年 1 月 14 日
  • 筆記

*集合:

set:持有一系列元素,但是set元素沒有重複,並且無序

如何創建:set()並傳入一個list,list的元素將作為set 的元素。

s=set(['a','b','c'])  print(s)    //set(['a', 'c', 'b'])  print(len(s))  //3

如何訪問:用in操作符判斷有沒有

=([,,,])  ( )//True

set的特點:

1.內部結構和字典很像,唯一區別是不存儲value

=([,,,,,,])  x1=x2=x1 :      ()  (x2 ):      ()//ok

遍歷set:

通過for循環來遍歷set

=([(,),(,),(,)])  x :      x[],,x[]
//lisa : 85  adma : 95  bart : 50

更新set

兩件事:1把新的元素添加到set中

2 把已有元素從set中刪除

add():添加元素 sets.add(新元素),如果添加已有元素,不報錯,但也不會加進去

s=set([1,2,3]) 添加

eg:

s=set([1,2,3])  s.add(4)  print(s)//set([1, 2, 3, 4])

remove():刪除set中的元素

sets.remove(刪除的元素)

用add()可以直接添加,用remove()前需要先判斷

*函數

什麼是函數:是一大塊可重用的程式碼,它是有名稱的程式碼塊,接受輸入、提供輸出並 可存儲在文件中供以後使用。

調用函數

函數分為兩大類:自定義函數、內置函數

a. pow(x,y) 計算x**y x的y次方

通過 ()去調用函數

print(pow(2,5))  //32

函數沒有任何輸入(沒有參數),也必須在函數後加()

如果要不加(),會指向一個函數。

b. cmp(x,y),如果x<y ,返回-1,如果x==y,返回0,如果x>y 返回1 [2,34,1,5,98]

     c. sum(x,y,...)  print sum([1,6])

d. append() 用於在列表末尾添加新的對象

list.append(obj) -obj添加到末尾的對象

e.不返回值的函數 print

=[]  x=x<=:      .append(x*x)      x=x+(()) //42925   如果函數沒有返回值,則會返回none

 python中給函數賦值,會導致無法訪問原來指向的函數,要恢復原樣,需要重啟python

自定義函數:使用def語句,依次寫出函數名、括弧、括弧中的參數和:,然後在縮進塊中編寫                  函數體,函數的返回值用return語句返回。

  函數名:只能包含字母、數字和下劃線,不能以數字開頭,指出其用途的簡單名稱。

                 def names(x):                      函數體                      return

                names(參數)

 注意:函數體內部的語句在執行時,一旦執行到return語句時,函數就執行完畢,並將結果                 返回。因此函數內部通過條件判斷和循環可以實現非常複雜的邏輯                 如果沒有return語句,函數執行完畢後會返回結果,結果能為None                 return 也返回None   return                 return 可以放在函數任何地方,通常末尾。

 變數的作用域:            函數帶來一個重要的問題就是作用域,變數的作用域,指的是它在程式的哪些地方可以訪問            或可見。            分為兩種:局部作用域,全局作用域                      局部變數,全局變數

f/elif/else  try/execpt/final for/while 不會汲到變數作用域的更改,它們程式碼塊中的           變數,在外部也是可以訪問的。

    變數的搜索路徑:本地變數>>全局變數

   修改局部變數為全局變數:global

     局部變數的生存期:局部變數只能在函數中使用,函數結束時,局部變數將被自動刪除

      全局部量:在函數外聲明的變數,程式中的任何程式碼和任何函數都可以讀取,然而在函數                    中給全局變數重複賦值時需要特別小心

關鍵字:                有特殊含義的單詞,又叫保留字,是電腦里預先定義好的,有特別意義的標識符

         python中的關鍵字包括如下:關鍵字不能用作函數名

           and  del form while as elif global with assert else if  pass break import            print class in exec raise continue finally is return for lambda try     參數:調用函數時可使用的正式參數類型             1.必備參數             2.關鍵字參數             3.默認參數             4.不定長參數

         1.必備參數:以正確的順序傳入函數,調用時數量必須和聲明時的一樣

            練習:定義一個函數,顯示姓名和年齡

         2.關鍵字參數:

             和函數調用關係緊密,函數調用使用關鍵字參數來確定傳入的參數值,              使用關鍵字參數允許函數調用時參數的順序與聲明時不一致,python解釋器能夠用參數名              匹配參數值。

         3.默認參數:

             調用函數時,默認參數的值如果沒有傳入,則被認為是默認值

          4.不定長參數

            可能需處理一個函數比當初聲明時更多的參數,這些參數叫做不定長參數             * 會存放所有未命名的變數參數,

            def 函數名(*info)

 匿名函數:

          用lambda 來創建匿名函數           lambda 的主體是一個表達式,而不是程式碼塊           注意:匿名函數只能包含一個語句

          語法:

          var = lambda  arg1,arg2… : (expression(表達式))

  python 模組

          保存一個python程式碼的文件,模組能定義函數、類和變數,模組里也能包含可執行的程式碼

          import語句:引入模組

                語法:import module(模組名稱)…

          注意:一個模組只會被導入一次,不管你執行多少次import .這樣可防止導入模組一遍又一遍執行