函数的调用
def student_info(class_name,name,offer):
print('{}期的同学拿到了{}k的offer!!!恭喜恭喜!!'.format(class_name,name,offer))
eat('玉米','可乐','必胜客')
def eat():
food_name_str=' '
for i in range(len(food_name_str)):
food_name_str+=food_name[i]
if i !=len(food_name)-1:
food_name_str+='、'
print('最喜欢吃:{}'.format(food_name))
student_info('xiaocc',python13,'20')
#代码执行是从上往下执行
如果先调用再声明就会报错,例如在eat()之前就调用student_info('xiaocc',python13,'20')这个就会报错
局部变量和全局变量
#广东都是晴天,除了广州是雨天
#全局变量:晴天
#局部变量:雨天
#全局变量生效的范围大于局部变量
#当局部变量存在的时候,优先考虑局部变量
Python 里面的全局和局部区分:
函数外的是:全局变量
函数内的是:局部变量
#举例1
offer =22#全局变量
def student_info(class_name,name,offer):
offer =20 #局部变量,在函数内部
print('{}期的同学拿到了{}k的offer!!!恭喜恭喜!!'.format(class_name,name,offer))
def student_recode(offer):
print('目前最高薪资是{}.format(offer))
student_info('13','xiaocc') -----结果为20, 优先用局部变量
student_recode() ----结果为22
#举例2
offer =1#全局变量
def student_info(class_name,name):
offer =20
global offer #声明全局变量
print('{}期的同学拿到了{}k的offer!!!恭喜恭喜!!'.format(class_name,name,offer))
offer+=2
def student_recode(offer):
print('目前最高薪资是{}.format(offer))
student_info('13','xiaocc')
print(offer) #结果为22 全局变量重新赋值操作
student_recode() #结果为22,全局变量被重新赋值
global 声明 函数内部可以变成全局变量
#使用场景:两个请求同时用一个变量,如果第二请求用的是第一个改变过后的变量值
file文件的处理
#file:txt, 日志 不包括mp4,excel ,html
处理:读、写
file文件的读处理
#存储数据的操作 #第一步:打开文件 open() file file =open('python13.txt',encoding='utf-8')#打开文件 print(file.read())
会报错:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte
解决办法如下:
就可以正常显示啦~
#存储数据的操作 #第一步:打开文件 open() file file =open('python13.txt',encoding='utf-8')#打开文件 print(file.read())#默认是读取文件中的所有内容 print(file.read(5))#读取指定长度的内容 #小练习:读出前10行诗句,怎么读? #方法一: for i in range(10): print(file.readline()) #方法二: count = 0 while count<10: print(file.readline()) count+=1 #小练习:读出5-8行诗句,怎么读? for i in range(10): if 5<=i <=8: print(file.readline()) else: file.readline()#读,但是不打印 print(file.readlines())#按行读取,读完所有行
file文件的写处理
#文件的写处理 #open()函数 #文件打开的模式 # r 只读 r+ 读写 # w 只写 w+ 读写 # a 追加写 a+ 读写