python通讯录运用的知识点_案例驱动式Python学习--通讯录存取
驅動案例
通訊錄:要求打印出企業全部十名員工通訊錄。(要求有文件相關操作)
內置函數
自定義函數
函數指被封裝起來的、實現某種功能的一段代碼。Python安裝包、標準庫中自帶的函數統稱為內置函數,用戶自己編寫的函數稱為自定義函數,不管是哪種函數,其定義和調用方式都是一樣的。
函數的定義
Python中使用關鍵字def定義函數。
def 函數名(參數列表)
函數體
[return 語句]
無參函數定義
def weather(): #無參數
print("*" * 13)
print("日期:4月8日")
print("溫度:14~28℃")
print("空氣狀況:良")
print("*" * 13)
帶參函數定義
def modify_weather(today, temp, air_quality): #有參數
print("*"*13)
print(f"日期:{today}")
print(f"溫度:{temp}")
print(f"空氣狀況:{air_quality}")
print("*" * 13)
函數的調用
定義好的函數直到被程序調用時才會執行。函數的調用格式如下:
函數名([參數列表])
實例應用(簡易計算器)
熟練地定義函數
熟練地調用函數
分析:
本實例的計算器具有最基本的加、減、乘、除 4 項功能,可實現計算兩個數的和、差、積、商。因此,這里可以定義一個包含兩個參數的函數,第 1 個參數接收用戶輸入的第 1 個數,第 2 個參數接收用戶輸入的第 2 個數,該函數主要實現的是加、減、乘、除 4 項功能,執行哪種功能需用戶輸入相應的運算符,再根據該運算符計算結果即可。
def oper(parm_one, parm_two):
operator = input('請選擇要執行的運算符:+、-、*、/' + '\n')
if operator == "+":
print("計算結果為:", +parm_one + parm_two)
elif operator == "-":
print("計算結果為:", parm_one - parm_two)
elif operator == "*":
print("計算結果為:", parm_one * parm_two)
elif operator == "/":
if parm_two == 0:
print('被除數不能為 0')
else:
print("計算結果為:", parm_one / parm_two)
else:
print("輸入的運算符不正確!")
while 1:
num_one = int(input('請輸入第一個數:'))
num_two = int(input('請輸入第二個數:'))
oper(num_one, num_two)
ch = input("是否繼續運算?(輸入Y或者N)")
if ch == 'N':
break
參數傳遞
函數的參數傳遞是指將實際參數傳遞給形式參數的過程。根據不同的傳遞形式,函數的參數可分為:位置參數、關鍵字參數、默認參數、不定長參數。
位置參數
調用函數時,編譯器會將函數的實際參數按照位置順序依次傳遞給形式參數。
def division(num_one, num_two):
print(num_one / num_two)
division(6, 2)
#此時6會傳給num_one,2會傳給num_two
關鍵字參數
關鍵字參數通過“形式參數=實際參數”的格式將實際參數與形式參數相關聯,根據形參的名稱進行參數傳遞。
def info(name, age, address):
print(f'姓名:{name}')
print(f'年齡:{age}')
print(f'地址:{address}')
info(name="李婷婷", age=23, address="山東")
默認參數
定義函數時可以指定形式參數的默認值。調用函數時,可分為以下兩種情況:未給默認參數傳值(使用參數的默認值)、給默認參數傳值(使用實際參數的值)。
def connect(ip, port=3306):
print(f"連接地址為:{ip}")
print(f"連接端口號為:{port}")
print("連接成功")
connect('127.0.0.1') #127.0.0.1傳給ip
connect(ip='127.0.0.1', port=8080) #127.0.0.1傳給ip,8080傳給port
不定長參數
若要傳入函數中的參數的個數不確定,可以使用不定長參數。不定長參數也稱可變參數,此種參數接收參數的數量可以任意改變。
def 函數名([formal_args,] *args, **kwargs):
"函數_文檔字符串"
函數體
[return語句]
#*args和**kwargs都是不定長參數,它們可搭配使用,亦可單獨使用
*args用法
不定長參數 * args用于接收不定數量的位置參數,調用函數時傳入的所有參數被*args接收后以元組形式保存。示例:
**kwargs用法
**kwargs用于接收不定數量的關鍵字參數,調用函數時傳入的所有參數被**kwargs接收后以字典形式保存。示例:
遞歸函數
python的遞歸算法思路與c語言相同,但python的語法更加簡練。
遞歸的定義: 遞歸是一個函數過程在定義中直接調用自身的一種方法,它通常把一個大型的復雜問題層層轉化為一個與原問題相似,但規模較小的問題進行求解。如果一個函數中調用了函數本身,這個函數就是遞歸函數。
遞歸求階乘
def factorial(num):
if num == 1:
return 1
else:
return num * factorial(num - 1)
遞歸求斐波那契數列
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
num = int(input('請輸入一個正整數: '))
for i in range(1, num + 1):
print(fibonacci(i), end=' ')
變量
變量的作用域是指變量的作用范圍。根據作用范圍,Python中的變量分為局部變量與全局變量。
局部變量
局部變量是在函數內定義的變量,只在定義它的函數內生效。
def use_var():
name = "xiaoke" # 局部變量
print(name) # 函數內訪問
use_var()
# print(name) # 函數外訪問報錯 NameError: name 'name' is not defined
全局變量
全局變量是在函數外定義的變量,它在程序中任何位置都可以被訪問.函數中只能訪問全局變量,但不能修改全局變量。
若要在函數內部修改全局變量的值,需先在函數內使用關鍵字“global”進行聲明。
count = 10
def use_var():
global count # 聲明全局變量
count = 0 #此時count變為0
use_var()
print(count)
文件操作
計算機中的文件能夠持久保存程序運行時產生的數據。
打開文件
open()函數用于打開文件,該函數調用成功會返回一個文件對象。
open(file, mode='r', encoding=None)
//file:表示待打開文件的文件名。
//encoding:表示文件的編碼格式。
//mode:表示文件的打開模式。
單獨使用:
搭配使用:
關閉文件
使用close()方法主動關閉不再使用的文件。
文件的讀取
read()方法可以從指定文件中讀取指定數據,其語法格式如下:
方式1-----文件對象.read([size])
文件對象.read([size])
//參數size表示設置的讀取數據的字節數,若該參數缺省,則一次讀取指定文件中的所有數據。
//例如
file.read()
方式2-----文件對象. readline()
file.readline()
//每執行一次readline()方法便會讀取文件中的一行數據。
方式3-----文件對象. readlines()
file.readlines()
//readlines()方法在讀取數據后會返回一個列表,該列表中的每個元素對應著文件中的每一行數據。
小提示: read()(參數缺省時)和readlines()方法都可一次讀取文件中的全部數據,但這兩種操作都不夠安全。因為計算機的內存是有限的,若文件較大,read()和readlines()的一次讀取便會耗盡系統內存。為了保證讀取安全,通常多次調用read()方法,每次讀取size字節的數據。
文件數據寫入
writelines()方法用于向文件中寫入字符串序列,其語法格式如下:
文件對象. writelines([str]) //例如:file.writelines([str])
案例代碼
def printMyAdress(myName,phone,adress):
print(myName)
print(phone)
print(adress)
wfile.write(myName+'\n')
wfile.write(phone+'\n')
wfile.write(adress+'\n')
wfile = open("D:/tongxunlu.txt", 'w')
printMyAdress("周洪斌","13862345099","武漢市揚子街33號")
printMyAdress("王琦","18997543321","北京市宣武門西大街21號")
wfile.close()
總結反思
本次課主要補充介紹了Python常用的內置函數、函數創建函數、函數參數(單個、多個)、遞歸函數、變量、列表、文件的打開與關閉、文件的讀寫等。
知識點繁多啊!!你居然看完了。
本文地址:https://blog.csdn.net/k1507157/article/details/110239174
如您對本文有疑問或者有任何想說的,請點擊進行留言回復,萬千網友為您解惑!
總結
以上是生活随笔為你收集整理的python通讯录运用的知识点_案例驱动式Python学习--通讯录存取的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python网络爬虫资源库名_Pytho
- 下一篇: pyautogui typewrite_