day10.函数,函数的参数

时间:2023-03-09 14:30:19
day10.函数,函数的参数

函数的思维导图:

day10.函数,函数的参数

老师的笔记

昨天内容概括

 #组长:默写统一交给组长
#不建议看视频
#上课敲过的所有的例子
# 1.看一遍、看能不能看懂
# 2.给每一道题起一个名字或者一句描述
# 3.看着文字,是否能翻译出代码
# 4.如果翻译不出来,就对照着看上课的代码,看看卡在哪句话
# 5.再反复的记忆 #多看博客
#1.第一节函数课
#2.第一节面向对象课 # 4期
# for while
# 有想纯谈心的 # 1.文件怎么读
# for循环读
# read(): 一次性读出来、或者是按单位读:r 按字符读,rb 按字节读
# #缺点:占内存
# readline():一行一行的读
# #缺点:你不知道读到什么位置文件结束
# readlines():一次性读出所有的行,以列表的形式显示
# #缺点:占内存
# 2.光标的位置怎么移动
# seek(0) 到开头
# seek(0,2)到末尾
# 跳到文件的指定位置:seek(n)
#3.打开文件的几种模式
#r/w/a
#rb,wb,ab
#4.文件怎么写
#write()
#write('第一行\n')
#write('第二行\n')
#write('第一行\n第二行\n') # 1.会向文件中添加一行新内容
# 2.会读文件,并且将读出的内容格式化
# 3.会修改文件

文件操作拾遗(根据昨天的内容做的一些补充)

 #文件的修改
# #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# old_content = f.read() #'原来的内容\n'
# #3.操作读出来的字符串,把字符串中的内容替换掉
# new_content = old_content.replace('新','原来')
# #4.把替换之后的内容写到新文件里
# f2.write(new_content)
# f.close()
# f2.close()
# # #5.删除原文件,新文件重命名成源文件的名字
# import os #os模块
# os.remove('原文件') #删除文件
# os.rename('原文件.bak','原文件') #重命名 #replace(‘老内容’,‘新内容’) #文件的删除
# import os #os模块
# os.remove('原文件') #删除文件 # #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# for line in f:
# new_line = line.replace('原来','新')
# f2.write(new_line)
# f.close()
# f2.close()
# import os
# os.remove('原文件')
# os.rename('原文件.bak','原文件') #进阶例子
# #1.创建一个新文件
# f2 = open('原文件.bak','w',encoding='utf-8')
# #2.把原来的文件中的内容读出来
# f = open('原文件',encoding='utf-8')
# count = 0
# for line in f:
# if '原来' in line and count == 0:
# new_line = line.replace('原来','新')
# f2.write(new_line)
# count = 1
# else:
# f2.write(line)
# f.close()
# f2.close()
# import os
# os.remove('原文件')
# os.rename('原文件.bak','原文件') #with操作文件
# f = open('原文件',encoding='utf-8')
# content = f.read()
# print(content)
# f.close() # with open('原文件',encoding='utf-8') as f:
# # content = f.read()
# # print(content)
# for line in f:
# print(line.strip()) with open('原文件',encoding='utf-8') as f,open('原文件.bak','w',encoding='utf-8') as f1:
for line in f:
new_line = line.replace('原来','新')
f1.write(new_line)
import os
os.remove('原文件')
os.rename('原文件.bak','原文件') #修改文件
#read()
#for循环的形式逐行修改
#只修改一行的内容,其他不变 —— 扩展例子
#with语句 == 文件的打开和关闭
#根据个人喜好

函数

 # len()
# len([1,2,3,4,5,6])
# len('金老板 is somebody') # l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# print(count) # s = '金老板 is somebody'
# count = 0
# for i in s:
# count +=1
# print(count) #可读性差
#重复的代码多 #把代码装起来
# def my_len():
# l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# print(count)
#
# # print(my_len)
# my_len() #len()
# l_len = len([1,2,3,4])
#写函数的时候,要尽量以功能为导向,结果最好不要直接在函数中打印
# def my_len(): #函数名的定义
# l = [1,2,3,4,5,6]
# count = 0
# for i in l:
# count +=1
# return count #函数的返回值
#
# ret = my_len() #函数的调用 以及 返回值的接收
# print(ret)
# my_len() #函数的返回值
#没有返回值
#返回一个值
# def 函数名():
for i in range(10):
if i%3 == 0:
print(i)
return {'a':'b'},2
print(i) ret,ret2,ret3 = 函数名()
print(ret)
print(ret2) #返回值:
# 没有返回值:
# 不写return == return None
# 只写一个return == return None
# return的作用:1.返回一个值 2.终止一个函数的继续 # 返回一个值: 可以返回任意的数据类型。返回什么 就接受什么 # 返回多个值:
# 用一个变量接收返回值,接收到的是一个元组
# 返回值有多个变量接收,那么返回值的个数应该和接收变量的个数完全一致

函数的参数

 def my_len(lst):    #参数:接收参数,形式参数,形参
count = 0
for i in lst:
count += 1
return count l = [1, 2, 3, 4] # 参数:传参数/传参,实际参数,实参l = [1,2,3,4]
len_count = my_len(l)
# print(len_count)
# len_count2 = my_len('金老板 is somebody')
# print(len_count2) # 练习
# 写一个函数,接收参数一个列表或者字符串,
# 如果这个列表或者字符串的长度大于2,返回True,否则返回False
# def func(s_l):
# if len(s_l) > 2:
# return True
# else:
# return False
#
# print(func([1,2,3,4]))
# print(func('12')) # 参数
# 形参和实参
# 传参数可以传任意的数据类型,并且传什么,接受什么
# 站在传参数的角度上看问题:一共有两种传参的方式
# 第一种:按照位置传参数
# 第二种:按照关键字传参数 # def f(para):
# print(para)
#
# f(para = 1) #传多个参数:多个参数分别可以使用任意数据类型
def f2(arg1,arg2,arg3): #站在接受、形参的角度上:位置参数
print(arg1)
print(arg2,arg3) # f2('abc',arg1 = [1,23])
# f2('abc',arg2 = [1,23])
# f2(arg3 = 1,arg2 = 2,arg1 = 3)
#按照关键字传参数和按照位置传参数是可以混用的
#但是,首先传按位置的,再传按关键字的
#按照位置传完该接受的参数只能接受一个值,不接受或者重复接收都不想 #形参
#位置参数
#数量必须与实参数量一致 ==> 必须传的参数 # def classmate(name,sex='男'):
# print('姓名:%s,性别%s'%(name,sex))
#
# classmate('尤悦')
# classmate('曹超')
# classmate('张建超')
# classmate('晓梅','女') #默认参数:
#默认参数 是可以不传的参数
#在不传参数的情况下可以使用默认的值
#如果传了,就会使用传的值 #魔性的用法:默认参数尽量避免使用可变数据类型
lst = []
def func(l = lst):
l.append(1)
print(l) func()
func()
func()
func() lst = []
def func(l = lst):
l.append(1)
print(l) func([])
func([])
func([])
func([]) #敲例子
#读博客
#画思维导图
#写博客
#写作业

day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数day10.函数,函数的参数