標籤: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 |
現需要對這個員工資訊檔,實現增刪改查操作
- 可進行模糊查詢,文法至少支援下面3種:
- select name,age from staff_table where age > 22
- select * from staff_table where dept = "IT"
- select * from staff_table where enroll_date like "2013"
- 查到的資訊,列印後,最後面還要顯示查到的條數
- 可建立新員工紀錄,以phone做唯一鍵,staff_id需自增
- 可刪除指定員工資訊紀錄,輸入員工id,即可刪除
- 可修改員工資訊,文法如下:
- UPDATE staff_table SET dept="Market" WHERE where dept = "IT"
注意:以上需求,要充分使用函數,請盡你的最大限度來減少重複代碼!
PYTHON學習之路_PYTHON基礎(4)