函数基础

  1. 函数被定义的时候,不执行函数体内的语句
  2. 函数名func和函数调用func()的区别
  3. 函数参数的种类
  4. 函数调用函数
  5. Python语法可视化网站 ```python def hello():
    print(“hello world!”)

def say1(func): func()

def say2(args,*kw): print(args) print(kw)

def people(func): def say(args,*kw): func() # hello world! print(args) # (1,2,3) print(kw) #{‘name’:’jiuge’, ‘age’ = ‘18’} return say

people(hello)(1,2,3,name=”jiuge”,age=”18”)

  1. <a name="cF7gn"></a>
  2. ### 装饰器代码解析
  3. ```python
  4. def login(url):
  5. def login_2(func):
  6. def password(*args,**kw):
  7. password = input("请输入管理员密码:")
  8. if password == '123456':
  9. func(*args,**kw)
  10. print("当前登录网址是 http://www.jiuge999.com{}".format(url))
  11. else:
  12. print("密码修改错误!")
  13. return password
  14. return login_2
  15. #管理员登录提示
  16. @login('/index') # login(admin_index)
  17. def admin_index(name = "九歌"):
  18. print("当前登录管理员的名字是{}!".format(name))
  19. #管理员姓名修改
  20. @login('/admin-change-name') # login(admin_change_name)
  21. def admin_change_name(new_name):
  22. name = "九歌"
  23. name = new_name
  24. print("管理员名字改为{}!".format(name))
  25. admin_index(name="九妹") #login('/index')(admin_index)(name="九妹")
  26. #admin_change_name("九弟") #login('/admin-change-name')(login_2)("九弟")
  27. # login(admin_index)(name="九妹")
  28. # login(admin_change_name)("九妹")

装饰器知识回顾

逐行代码解读Python装饰器的工作原理 - 图1