PYTHON學習之路_PYTHON基礎(4)

來源:互聯網
上載者:User

標籤:range   字典   turn   plain   one   範圍   模糊   lambda   pattern   

學習內容:

1、Python函數的基本文法

2、Python函數的傳回值與變數

3、Python嵌套函數

4、Python遞迴函式及執行個體(二分尋找)

5、Python匿名函數

6、Python內建方法

7、Python執行個體

 

一、Python函數的基本文法

1、定義:函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執行這個函數,只需調用其函數名即可

def f(n):

  print (n**n)  

  return n**2

2、特性

  (一)減少重複代碼

  (二)使程式變的可擴充

  (三)使程式變得易維護

3、參數

  (一)形參

    定義函數時使用的參數叫形參。

  (二)實參

    調用函數時使用的參數叫實參。

  (三)預設參數

    預設參數是預先將函數變數賦值,預設參數的位置需放在後面

  (四)關鍵參數

    關鍵參數必須放置在位置參數後面

  (五)非固定參數

    *args 非字典類型    **kwargs 字典類型

二、Python函數的傳回值與變數的範圍

1、函數執行後return語句指定返回的內容。return語句同時也代表著函數的結束。若不指定則返回None。

2、局部變數的範圍只是函數體內;全域變數的範圍是整個程式。

三、Python嵌套函數

函數中定義一個函數即為嵌套函數

四、Python遞迴函式及執行個體(二分尋找)

函數中定義的函數是函數本身,即為遞迴函式。

二分尋找法執行個體:

# data = [1,3,5,7,9,11,13,14,15,17,18,27,34,35,37,38,39,46]
# def func(list,find_num):
# middle_list = int(len(list) / 2)
# if len(list)>0:
#
# if list[middle_list] == find_num:
# print (‘got it....‘,list[middle_list])
# exit()
# if list[middle_list] > find_num:
# list=list[:middle_list]
# print (‘going to left side‘,list[:middle_list])
# func(list,find_num)
# else:
# list=list[middle_list+1:]
# print (‘going to right side‘,list[middle_list+1:])
# func(list,find_num)
# else:
# print (‘None...‘)
#
# func(data,9)

五、Python匿名函數

匿名函數lambda:

res=map(lambda x:x**x,range(10))
for i in res:
print(i)
六、Python內建方法
# print(chr(98))
# print(ord(‘b‘))
# name = "alex"
# print(callable(sayhi))
# print(callable(name))
# print(ascii("地方"))
# print(bin(10))
# f = open("傳回值.py",encoding="utf-8")
# print(dir(f))
# code = compile(f.read(),‘‘,‘exec‘)
# print( code )
# exec(code)
# print(divmod(10,3))
# for i in filter(lambda x:x>5, range(10)):
# print(i)
# a = frozenset({1,4,5,5,6})
# b = {1,4,5,5,6}
# print(a)
# def sayhi():
# name="alex"
# print(locals())
# print(globals()) #把當前程式所在記憶體裡的所有資料都以字典的形式列印出來
# print(min([4,2,5,77,2]))
# print(oct(8))
# print(pow(4,9))
# msg = "又回到最初的起點"
# f = open("tofile","w",encoding="utf-8")
# print(msg,"記憶中你青澀的臉",sep="|",end="=",file=f)
# data = "abc"
# data = reversed(data)
# for i in data:print(i)
# print(round(10.26,1))
# data = [10,2,3,45,56,3]
# print(sum(data))
# print(vars())
# print(set(data))
# a = range(20)
# pattern = slice(3,8,1)
# for i in a[pattern]: #等於a[3:8:2]
# print(i)
# a = "alex"
# a = sorted(a)
# print(a)
七、Python執行個體

有以下員工資訊表

 

當然此表你在檔案儲存體時可以這樣表示

1 1,Alex Li,22,13651054608,IT,2013-04-01

現需要對這個員工資訊檔,實現增刪改查操作

  1. 可進行模糊查詢,文法至少支援下面3種:
    1.   select name,age from staff_table where age > 22
    2.   select  * from staff_table where dept = "IT"
    3.       select  * from staff_table where enroll_date like "2013"
    4. 查到的資訊,列印後,最後面還要顯示查到的條數 
  2. 可建立新員工紀錄,以phone做唯一鍵,staff_id需自增
  3. 可刪除指定員工資訊紀錄,輸入員工id,即可刪除
  4. 可修改員工資訊,文法如下:
    1.   UPDATE staff_table SET dept="Market" WHERE where dept = "IT"

 注意:以上需求,要充分使用函數,請盡你的最大限度來減少重複代碼!

 

PYTHON學習之路_PYTHON基礎(4)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.