第十天-初识函数
2018-10-29 15:31:10来源:博客园 阅读 ()
# 函数:
# 对代码块的封装和定义
# 函数名的命名规则和使用和变量基本一样.
# 定义:
# def 函数名(参数列表):
# 函数体……
# 调用:
# 函数名(具体值)
1 def day(): 2 print("起床") 3 print("早餐") 4 print("上课") 5 print("午餐") 6 print("午休") 7 print("温习") 8 print("训练") 9 print("晚餐") 10 print("码字") 11 print("预习") 12 print("睡觉") 13 14 day() # 执行函数体
# return 语句 :
# 终止函数的运行 返回值 谁调用就返回给谁
1 def yue(): 2 print("拿出手机") 3 print("打开陌陌") 4 # return 5 print("找个漂亮的妹子") 6 print("问她, 约不约啊?") 7 print("oK. 走你!") 8 # return "萝莉" 9 return "萝莉","少妇","大妈" 10 11 # 函数什么都不写.不写return,函数在运行的结尾.返回一个None 12 set = yue() 13 print(set) # 没有return 调用返回None 14 15 # 写了return.但是return后面什么都没有.表示返回None 16 set = yue() 17 print(set) # 有return 但没有值 返回 None 18 19 # 写了return,后面有一个值,有一个返回值,返回给调用者 20 set = yue() 21 print(set) # 有return有一个值 返回值"萝莉" 22 23 # 写了return,后面有多个值,有多个返回值,返回给调用者(接收一个tuple) 24 set = yue() 25 print(set) # return多个值,返回多个值('萝莉', '少妇', '大妈')
# 函数参数:
# 形参:函数在声明时写的变量 声明
# 实参:函数在调用时给形参的具体值 调用
# 传参:把实参赋值给形参的过程
1 def mai(yan): 2 print("老板给我来包%s"%yan) 3 return "给你" 4 5 mai("中华") # 调用函数 6 a = mai("玉溪") # yan 形参,玉溪 实参,把玉溪赋值给yan的过程叫传参 7 print(a) # return有值 返回值的内容 8 b = mai("娇子") 9 print(b)
# 参数分类:
# 形参和实参. 个数要一一对应
# 形参:在函数声明的时候
# 1.位置参数
# 2.默认值参数
# 3.混合参数. 顺序(位置,默认值)
# 4.动态参数 *args **kwargs (明日内容)
# 实参:在函数调用的时候
# 1.位置参数 根据形参声明的位置来传递信息
# 2.关键字参数 根据形参声明的变量名来传递信息
# 3.混合参数 位置+关键字 顺序(先位置参数 后关键词参数)
1 # 位置参数 2 def chi(good_food,junk_food,drink,sweet): # 声明多个形参 3 print(good_food,junk_food,drink,sweet) 4 5 chi("大米饭","汉堡包","橙汁","哈根达斯") 6 7 # 形参实参个数要一一对应 8 def chi(good_food,junk_food,drink,sweet,xiaochi,lingshi,xiaochi1,lingshi1,shuiguo): # 声明多个形参 9 print(good_food,junk_food,drink,sweet) 10 11 chi("大米饭","汉堡包","橙汁","哈根达斯") # 报错,个数不对 12 # Error: chi() missing 5 required positional arguments 13 14 def chi(good_food,junk_food,drink,sweet): 15 print(good_food,junk_food,drink,sweet) 16 17 #关键字参数必须按照形参的名字来传递信息 18 chi(good_food="大米饭",junk_food="汉堡包",drink="橙汁",sweet="哈根达斯") 19 chi(drink="橙汁",junk_food="汉堡包",good_food="大米饭",sweet="哈根达斯") # 可换顺序 20 21 # 混合参数必须先位置后默认值\关键字 22 # def chi(good_food,junk_food,drink ="橙汁",sweet): # 报错 顺序不对 23 def chi(good_food,junk_food,drink="橙汁",sweet="哈根达斯"): 24 print(good_food,junk_food,drink,sweet) 25 # 26 chi("大米饭","汉堡包") # 大米饭 汉堡包 橙汁 哈根达斯 27 chi("大米饭","汉堡包",drink="北冰洋",sweet="奶酪") # 大米饭 汉堡包 北冰洋 奶酪
# 默认值参数可帮我们省略重复代码
# 如:函数录入学生信息
1 def regist(id,name,age,gender="男"): 2 print(id,name,age,gender) 3 4 regist(1,"张三",20) # 1 张三 20 男 5 regist(2,"李四",23) # 2 李四 23 男 6 regist(3,"王二",25) 7 regist(4,"赵五",23) 8 regist(5,"李洁",21,"女")
# print,open也是函数(作了解)
1 # def print(self, *args, sep=' ', end='\n', file=None): 2 print(1,2,3,4,5,sep="_",end="不换行") # sep=下划线 1_2_3_4_5 3 print("你好") # end="不换行"1_2_3_4_5不换行你好 4 5 # def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True): 6 f = open("haha",encoding="utf-8") # mode='r' 7 content = f.read() 8 print(content) 9 f.close()
# 函数的应用-注册登录验证
1 # 注册 2 def regist(): 3 f = open("user", mode="r+", encoding="utf-8") # 避免重复打开文件 4 while 1: 5 username = input("请输入用户名:") 6 password = input("请输入密码:") 7 # f = open("user",mode="r+",encoding="utf-8") # 放这 若用户存在会重复打开文件 8 for line in f: 9 if username == line.strip().split(":")[0]: 10 print("用户名已存在!") 11 continue 12 13 else: 14 print("恭喜,注册成功!") 15 f.write("\n"+username+":"+password) 16 f.flush() 17 f.close() 18 return True 19 20 # regist() 21 22 23 # 登录验证 24 def login(): 25 f = open("user",encoding="utf-8") 26 auth_status = False 27 while not auth_status: 28 username = input("请输入账号:") 29 password = input("请输入密码:") 30 for line in f: 31 if username+":"+password == line.strip(): 32 auth_status = True 33 return auth_status 34 35 ret = login() 36 if ret: 37 print("登陆成功!") 38 else: 39 print("登陆失败!")
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Python 装饰器入门(下)
下一篇:打印一个九九乘法表
- fetchone函数和fetchall函数返回值的区别 2019-08-13
- Python之装饰器笔记 2019-08-13
- Python学习日记(九) 装饰器函数 2019-08-13
- python之函数、面向对象 2019-08-13
- python3基础之“函数(2)” 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash