栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python基础之day04

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python基础之day04

调用函数2的时候 当函数2里面执行又遇到了函数1 # 则会执行到函数1调用的位置后 去执行函数1。当函数1执行完后 接着回来执行函数2剩余的代码。 执行顺序 函数2开始执行 函数1执行 函数2执行结束 五、局部变量与全局变量 定义在函数内的就是局部变量 使用范围从 定义开始到函数结束定义在函数外面的就是全局变量 使用范围从 定义开始到程序结束可以将函数内的变量修改为全局变量 使用范围从 定义开始到程序结束。
 
 定义方法 在函数内定义变量前 先用global声明该变量为全局变量
 global 变量名
 变量名 值
num 10 # 定义全局变量
def info():
 age 10 # 定义局部变量
 global name # 声明全局变量
 name Andox 
info()
print(name) # Andox
注意 如果外面有同名的变量定义在该调用该函数之前 则在运行到该函数的全局声明是 会修改外面的函数如果外面没有定义同名的变量 如果想在外面使用 必须要在调用该函数之后才能使用该变量 六、拆包
# 1.对函数返回值进行拆包
def info():
 high 175
 weight 120
 age 18
 return high, weight, age
high, weight, age info() # 拆包
print(high, weight, age) # 175 120 18
# 2.对列表的拆包
a, b [1, 2]
print(a, b) # 1 2
# 3.对元祖的拆包
a, b (3, 4)
print(a, b) # 3 4
# 4.对字典的拆包 注意拆出来得到的是key
a, b { a : 1, b : 2}
print(a, b) # a b
七、引用

引用介绍
使用id()来查看数据储存在内存中的地址 变量名实际储存的是数据在内存中的地址
我们可以通过这边地址访问到储存在内存中的变量。而我们传递变量时 其实是把该变量
的引用 变量储存在内存中的地址 传递出去。

a 100
b [1, 2]
c (1, 2)
d { name : Andox }
print(id(a)) # 4321048320
print(id(b)) # 140495662574720
print(id(c)) # 140495643250240
print(id(d)) # 140495643211776

可变类型与不可变类型是指 如果能直接修改那么就是可变 否则是不可变
可变类型有 列表、字典、集合
不可变类型有 数字、字符串、元组
当变量为不可变类型时 对其修改 其实是把修改后的新数据地址 重新储存在该变量名中
当变量为可变类型时 对其修改 是在内存原来的位置进行修改

# 不可变类型
print(id(a)) # 4403084224
print(id(a)) # 4403084256 #修改后地址改变
# 可变数据类型
b [1]
print(id(b)) # 140476780873152
b.append(2)
print(id(b)) # 140476780873152 # 修改后地址不变
八、函数案例-学生管理系统
import time
import os
# 定一个列表 用来存储所有的学生信息(每个学生是一个字典)
info_list []
def print_menu():
 print( --------------------------- )
 print( 学生管理系统 V1.0 )
 print( 1:添加学生 )
 print( 2:删除学生 )
 print( 3:修改学生 )
 print( 4:查询学生 )
 print( 5:显示所有学生 )
 print( 6:退出系统 )
 print( --------------------------- )
def add_new_info():
 添加学生信息 
 global info_list
 new_name input( 请输入姓名: )
 new_tel input( 请输入手机号: )
 new_qq input( 请输入QQ: )
 for temp_info in info_list:
 if temp_info[ name ] new_name:
 print( 此用户名已经被占用,请重新输入 )
 return # 如果一个函数只有return就相当于让函数结束 没有返回值
 # 定义一个字典 用来存储用户的学生信息(这是一个字典)
 info {}
 # 向字典中添加数据
 info[ name ] new_name
 info[ tel ] new_tel
 info[ qq ] new_qq
 # 向列表中添加这个字典
 info_list.append(info)
def del_info():
 删除学生信息 
 global info_list
 del_num int(input( 请输入要删除的序号: ))
 if 0 del_num len(info_list):
 del_flag input( 你确定要删除么?yes or no )
 if del_flag yes :
 del info_list[del_num]
 else:
 print( 输入序号有误,请重新输入 )
def modify_info():
 修改学生信息 
 global info_list
 modify_num int(input( 请输入要修改的序号: ))
 if 0 modify_num len(info_list):
 print( 你要修改的信息是: )
 print( name:%s, tel:%s, QQ:%s % (info_list[modify_num][ name ],
 info_list[modify_num][ tel ], info_list[modify_num][ qq ]))
 info_list[modify_num][ name ] input( 请输入新的姓名: )
 info_list[modify_num][ tel ] input( 请输入新的手机号: )
 info_list[modify_num][ qq ] input( 请输入新QQ: )
 else:
 print( 输入序号有误,请重新输入 )
def search_info():
 查询学生信息 
 search_name input( 请输入要查询的学生姓名: )
 for temp_info in info_list:
 if temp_info[ name ] search_name:
 print( 查询到的信息如下: )
 print( name:%s, tel:%s, QQ:%s % (temp_info[ name ],
 temp_info[ tel ], temp_info[ qq ]))
 break
 else:
 print( 没有您要找的信息.... )
def print_all_info():
 遍历学生信息 
 print( 序号t姓名tt手机号ttQQ )
 for temp in info_list:
 # temp是一个字典
 print( %dt%stt%stt%s % (i, temp[ name ], temp[ tel ], temp[ qq ]))
def main():
 用来控制整个流程 
 while True:
 # 1. 打印功能
 print_menu()
 # 2. 获取用户的选择
 num input( 请输入要进行的操作(数字) )
 # 3. 根据用户选择,做相应的事情
 if num 1 :
 # 添加学生
 add_new_info()
 elif num 2 :
 # 删除学生
 del_info()
 elif num 3 :
 # 修改学生
 modify_info()
 elif num 4 :
 # 查询学生
 search_info()
 elif num 5 :
 # 遍历所有的信息
 print_all_info()
 elif num 6 :
 # 退出系统
 exit_flag input( 亲,你确定要退出么?~~~~( _ )~~~~(yes or no) )
 if exit_flag yes :
 break
 else:
 print( 输入有误,请重新输入...... )
# 程序的开始
main()
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267176.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号