day5學python 基礎 裝飾器內容

2022-09-13 19:18:09 字數 1749 閱讀 3297

遞迴特性

# 1.必須有乙個明確的結束條件

# 2.每次進入更深一層遞迴時,問題規模相比上次遞迴應有所減少

# 3.遞迴效率不高

def

run(n):

print

(n)

if int(n/2)>0:

return run(n / 2)

print("

-->

",n)

run(10)

區域性變數與全域性變數知識

1.全域性變數中 數字/字串不能在函式中修改 列表和字典可以修改

names=["

xiao

","mibg

","ming"]

defchange():

names[0]="cf"

print

(names)

change()

print(names)

函式即」變數「! (函式名-代表函式位址 || 函式名()-代表呼叫函式)

高階函式

1 把乙個函式名當作實參傳給另乙個函式(在不修改被裝飾函式源**的情況下為其新增功能)

2 返回值中包含函式名(不修改函式的呼叫方式)

裝飾器

高階函式+巢狀函式==>裝飾器  #巢狀函式-函式套著函式

# 定義:本質是函式,(裝飾其他函式)為其他函式新增附加功能

# 原則: 1.不能修改被裝飾的函式的源**

# 2.不能修改被裝飾的函式的呼叫方式

import

time

user,word="

cf","

123"

defauth(auth_type):  

print("

auth_type

",auth_type)

def

if(auth_type=="

local"):

usename=input("

usename:

").strip()

psword= input("

psword:

").strip()

if(user==usename and psword==word):

print("

\033[32;1m hi boy \033[0m")

func(*args,**kwargs)

else

: exit(

"failed")

elif(auth_type=="

ldap"):

func()

return

return

defindex():

print("

index")

@auth(auth_type="

local

") #

defhome():

print("

home")

@auth(auth_type="

ldap")

defbbs():

print("

bbs"

)index()

home()

bbs()

python基礎Day 5函式作業

定義乙個函式實現反響輸出乙個整數。比如 輸入 3245,輸出 5432.2.編寫乙個函式,計算下面的數列 數列計算 輸入三角形三個頂點的座標,若有效則計算三角形的面積 如座標無效,則給出提 示。輸入乙個毫秒數,將該數字換算成小時數,分鐘數 秒數。使用海龜繪圖。輸入多個點,將這些點都兩兩相連。1 de...

python學習日誌 day5

json和pickle模組主要用於序列化,有四個方法 dump dumps loads load 1.模組定義 用來從邏輯上組織python 本質上就是以.py結尾的python檔案 檔名test.py對應模組名 test 2.模組匯入方法 import module name import mod...

Python學習day5作業

從鍵盤上輸 入 個數,顯示它的絕對值 允許使 用abs num float input 請輸入乙個數字 print num if num 0else num 假設使用者名為admin,密碼為123abc,從控制台分別輸入使用者名稱和密碼,如果和已知使用者名稱和密碼都匹配上的話,則驗證成功,否則驗證失...