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 ...
随机推荐
- tomcat占用cpu比较多
在Linux中当Tomcat启动后,我们只是去查看应用是否能够正常访问来判断Tomcat启动是否正常.一般情况下这样看是没有问题的,但是有时候我们会发现当Tomcat使用了一段时间后,开始出现CPU或 ...
- LNMP环境部署
说明: 操作系统:CentOS 5.6 32位 准备篇: 一.配置好IP.DNS .网关,确保使用远程连接工具能够连接服务器 二.配置防火墙,开启80端口.3306端口 vi /etc/sysconf ...
- Python-爬虫-猫眼T100
目标站点需求分析 涉及的库 from multiprocessing import Poolfrom requests.exceptions import RequestExceptionimport ...
- SqlBulkCopy 之 Received an invalid column length from the bcp client for colid 5.
SqlBulkCopy 批量复制报错: Received an invalid column length from the bcp client for colid 5. 翻译:从bcp客户端收到一 ...
- Java9 新特性 详解
作者:木九天 < Java9 新特性 详解 > Java9 新特性 详解 摘要: 1.目录结构 2.repl工具 jShell命令 3.模块化 4.多版本兼容jar包 5.接口方 ...
- Confluence 6 当前使用的数据库状态
进入 > 基本配置(General Configuration) > 问题检查和支持工具(Troubleshooting and support tools) 你就可以看到当前使用的数据 ...
- embed标签详解
HTML-embed标签详解 Embed(一).基本语法:embed src=url说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等, Net ...
- SpringMVC视图及REST风格
点击进入第二章:SpringMVC基础配置 什么是视图解析器? springMVC用于处理视图最重要的两个接口是ViewResolver和View. ViewResolver的主要作用是把一个逻辑上的 ...
- 【ES】学习10-聚合3
聚合是在查询匹配的文档中做统计的 不指定查询语句时,从所有文档中匹配. 下面两个语句等价: GET /cars/transactions/_search { , "aggs" : ...
- bzoj1195 神奇的ac自动机+状态压缩dp
/* 难的不是ac自动机,是状态压缩dp 之前做了一两题类似题目,感觉理解的还不够透彻 */ #include<iostream> #include<cstdio> #incl ...