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.函数,函数的参数的更多相关文章
- 【Java学习笔记】函数的可变参数
package p2; public class ParamterDemo { public static void main(String[] args) { int sum1 = add(4,5) ...
- 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板
[源码下载] 不可或缺 Windows Native (16) - C++: 函数重载, 缺省参数, 内联函数, 函数模板 作者:webabcd 介绍不可或缺 Windows Native 之 C++ ...
- Python函数中的参数(二)
当使用混合特定的参数匹配模型时,Python将会遵循以下有关顺序的法则: 1.在函数调用中,参数必须以这样的顺序出现:任何位置参数(Value).任何关键字参数(name = Value)和*sequ ...
- Python函数中的参数(一)
函数传递参数时的简要关键点: 1.参数的传递是通过自动将对象赋值给本地变量名来实现的.函数参数在实际中只是Python赋值的一个实例.因为引用是以指针的形式实现的,所有的参数实际上都是通过指针进行传递 ...
- ios开发@selector的函数如何传参数/如何传递多个参数
不同的类会有不同的传递方式,参数名也不尽相同.如果是传单个参数的就不用集合,如果是传多个参数可以用类似nsarray,nsdictionary之类的集合传递.看下面例子: 例子1: 通过NSTimer ...
- 给setTimeout和setIntreval函数添加回调参数
setTimeout和setInterval是两个很常见的计时函数.在以前,他们只接收两个参数,我们无法直接向他们的回调函数中添加参数,如果需要实现添加多个参数,可以在外层多嵌一层来实现类似的功能.现 ...
- ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)
客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...
- 空函数有参函数调用参数的注意事项Swift 1.1语言
空函数有参函数调用参数的注意事项Swift 1.1语言 7.2.3 空函数 空函数有参函数调用参数的注意事项Swift 1.1语言空函数是函数中最简单的形式.在空函数中,函数只有一个空壳,里面是没有 ...
- unserialize函数中的参数是否是污染数据
1.原理 在程序编写的时候,往往需要序列化一些运行时数据,所谓序列化就是按照一定的格式将运行时数据写入本地文件.这样做可以对数据进行本地保存,用的时候直接读文件就可以把运行时产生的数据读出.php中就 ...
- 为什么需要main函数,及其参数的用法
首先,需要明确main函数是什么? 答:main函数是C语言约定的入口函数 C99标准里面是这样描述的: Program startup The function called at program ...
随机推荐
- 程序包管理dpkg、apt-get、服务端openssh-server与客户端Xshell设置及lrzsz安装使用
一.程序包管理器 dpkg.apt-get 1.dpkg 安装:sudo dpkg -i cmatrix_1.2a-5build3_amd64.deb 卸载:sudo dpkg -r cmatrix ...
- 排查linux系统是否被入侵
在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节.今天,分享一下如何检查linux系统是否遭受了入侵? 一.是否入侵检查 1)检查系统日志 检查系统错误登陆日志,统计IP重试 ...
- MySQL笔记二
Ø function 函数 函数的作用比较大,一般多用在select查询语句和where条件语句之后.按照函数返回的结果, 可以分为:多行函数和单行函数:所谓的单行函数就是将每条数据进行独立的计算,然 ...
- HTML_1
HTML 指的是超文本标记语言: HyperText Markup LanguageHTML 不是一种编程语言,而是一种标记语言标记语言是一套标记标签 (markup tag)HTML 使用标记标签来 ...
- vuex——做简单的购物车功能
购物车组件 <template> <div> <h1>vuex-shopCart</h1> <div class="shop-listb ...
- SVG前戏—让你的View多姿多彩
什么是SVG SVG的全称是Scalable Vector Graphics,叫可缩放矢量图形.是一种基于可扩展标记语言(XML).它和位图(Bitmap)相对,SVG不会像位图一样因为缩放而让图片质 ...
- Confluence 6 允许其他用户编辑站点欢迎消息
你可以通过使用 Include Page 宏从你站点其他页面中包含内容,而允许其他不是 Confluence 管理员的用户编辑站点欢迎消息.使用这种方式能够避免直接对模板文件中的内容进行编辑. 从站点 ...
- iOS运行时使用(动态添加方法)
1 举例 我们实现一个Person类 然后Person 其实是没得对象方法eat:的 下面调用person的eat方法 程序是会奔溃的 那么需要借助运行时动态的添加方法 Person *p = [[ ...
- leetcode(js)算法605之种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有.可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去. 给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花 ...
- laravel 关联查询