python笔记16-函数
函数说白了,就是把一组代码合到一起,可以实现某种功能,需要再用到这个功能的话,直接调用这个函数就行了 1.定义函数def
def my_open():#函数名,def定义函数,my_open给这个函数取的名字
print("欢迎光临")#函数体
fw.seek(0)
2.调用函数
my_open()#调用函数,函数只有调用才能执行
3.实参、形参-参数必填
#例子:读出a.txt文件中的内容,读并转换为字典
all_users={}
def read_users(file_name):#file_name是形式参数,就是一个变量
with open(file_name)as fr:
for line in fr:
up=line.strip().split(',')
s_username=up[0]
s_pwd=up[1]
all_users[s_username]=s_pwd
read_users("a.txt")#调用函数传进去的参数叫做实际参数,实参
# #关键字参数调用
def write(filename,model,ending,user,os,money,other):
print(filename)
print(model)
print(ending)
print(user)
print(os)
print(money)
print(other)
write(os='Windows',user='wubing',model='w',filename='a.txt',ending='utf-8',money=9999,other='xxxxx' )
#参数比较多的时候,使用关键字定义调用就可以不管顺序
#write('a.txt','w',money=99,os='windos')
#write(os='windos','a.txt')#会报错
4.位置参数-参数必填
#必填参数,位置参数,参数对应不可缺少
def hello (name,age):#2个参数
print("hello %s,age is %s"%(name,age))
hello('周杰伦',19)#调用2个参数
hello('孙燕姿')#这样会报错,少1个参数
5.默认值参数--参数非必传
def reg(name,age,sex='男'):
# #age、name必填参数,位置参数
# #sex是默认值参数,不是必传
print('hello %s,age is %s,sex is %s'%(name,age,sex)) reg('吴冰',38)#输出结果:hello 吴冰,age is 38,sex is 男
reg('吴冰',38,'未知')#输出结果:hello 吴冰,age is 38,sex is 未知
reg(age='吴冰',name=38,sex='未知')
6.不固定参数(元组)--*表示-参数非必传
# #可变参数,参数个数不固定,传进来多少显示多少,非必填
def post(*args):#*加名字,前面要加*
# #可变参数,也叫参数组,也不是必填的,它接收到的是一个元组
# #它把调用函数时穿进去的每一个参数都放到一个元组里
print(args) post('001','denglu','http://www.baiudd.com','post','a=1')
post('001','denglu')
post('001','denglu','post')
post('001')
post()
*args显示的是元组
def other(name,age,country='china',*args):
print(name)
print(age)
print(country)
print(args)
other('wubing','999','hehe','beijing','changpig','python')
7.关键字参数-字典-非必填
d = {'age': 18, 'name': '吴冰'}
def kw(**kwargs):#2个星号,关键字参
# #关键字参数,接收的是一个字典,调用得用xx=11,也不是必填的
# #传入字典调用的时候就得写**{'age': 18, 'name': '吴冰'}
print(kwargs)
kw(**d)
kw(**{'age': 18, 'name': '吴冰'})
kw()
8.例子:混合使用(顺序:必填、可变、不固定参数、关键字参数)
def other2(name,country='china',*args,**kwargs):
# #如果必填参数、默认值参数、可变参数和关键字参数你要一起用的话
# #必须参照必填参数、默认值参数、可变参数和关键字参数的顺序接收,否则就会报错
print(name)
print(country)
print(args)
print(kwargs)
other2('wubing','xxx')
other2('wubing','beijing','python','changping',user='niuhanyang')
9.return函数的返回值
作用1:函数碰到return,立即结束这个函数
作用2:调用完函数之后,返回计算的结果
函数可以没有返回值,如果没有返回值的话,默认给你返回None
如果这个函数的处理结果咱们需要在别的地方用到,那你就得给函数返回值
如果函数return多个值的话,那么它会把多个值放到一个元组里面去
#计算总分
def plus(a,b):#加法
return a+b#return作用1:函数碰到return,立即结束这个函数
#作用2:调用完函数之后,返回计算的结果
score1=50
score2=90 def echo(sum):#总分
print('总分is%s'%sum) res=plus(score1,score2)#保存了a+b的值
print(res)
echo(res)
python笔记16-函数的更多相关文章
- Python:笔记(2)——函数与模块
Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...
- python笔记之函数
函数 >>> def funTest(param1): ... 'this is function document string.' #正文需要有缩进 ... return par ...
- python笔记22-literal_eval函数处理返回json中的单双引号
前言 在做接口测试的时候,最常见的接口返回数据就是json类型,json类型数据实际上就是字串,通常标准的json格式是可以转化成python里面的对应的数据类型的 有时候开发返回的数据比较坑,不按常 ...
- python笔记4 - 函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可以自己创建函数,这 ...
- Python笔记008函数(2)
1. 昨日内容回顾: def 函数(): 函数体 return 值 如果不写return,默认返回None.可以单独返回一个值,也能够以元组的形式返回多个值.(不要把print和retu ...
- python笔记16
1.今日内容 模块基础知识 time/datetime json/picle shutil logging 其他 2.内容回顾和补充 2.1模块(类库) 内置 第三方 自定义 面试题: 列举常用内置模 ...
- python笔记-字符串函数总结
字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...
- Python笔记:调用函数,带扩号和和不带括号的区别
调用函数,如果带括号,那么是调用函数运行后的结果, 调用函数不带括号,调用的是函数本身 例如: def cun (a,b): return a+b print(cun) : 调用函数,打印的是函数 p ...
- Python笔记 #16# Pandas: Operations
10 Minutes to pandas #Stats # shift 这玩意儿有啥用??? s = pd.Series([1,5,np.nan], index=dates).shift(0) # s ...
- Python笔记-built-in函数,文件操作,lambda函数
Built-In: i = abs(123) print(i) j = abs(-123) print(j)#123#123 #all,需要传一个可迭代的东西,里面所有的值是真,返回真 r1 = al ...
随机推荐
- JavaScript 声明提前机制
声明提前机制 在JavaScript存在着这样一种预处理机制,即浏览器在解析JS代码时会将var声明的变量和function声明的函数提升到当前作用域的顶部.但是解析JS代码时对var和functio ...
- 51Nod 算法马拉松12 移数博弈
点进去发现并不是博弈QAQ 一开始考虑单调队列什么乱七八糟的发现根本做不出来 (没错我一直在想枚举最大值求次大值QAQ 不妨换个思路: 我们考虑枚举次大值求最大值 设当前为now, 设now之前第一个 ...
- HTTP长连接、短连接究竟是什么?
1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议. IP协议主要解决网络路由和寻址 ...
- -bash: xhost: command not found
参考自:http://blog.csdn.net/csdnones/article/details/51513163,感谢原作者解决了我的问题. 执行xhost +,报以下错误,原因是因未没有安装相关 ...
- opencv学习之路(23)、轮廓查找与绘制(二)——访问轮廓每个点
一.简介 二.画出每个轮廓的每个点 #include "opencv2/opencv.hpp" using namespace cv; void main() { Mat src= ...
- 剑指offer(18)二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...
- ant常用的内置 task转自https://www.cnblogs.com/baicj/archive/2015/12/21/5063608.html
ant 例如: <target name="callProjectB"> <echo message="In projectA calling proj ...
- Bootstrap3基础 table-condensed 表格中的单元格紧凑一些
内容 参数 OS Windows 10 x64 browser Firefox 65.0.2 framework Bootstrap 3.3.7 editor ...
- 单元测试系列之六:JUnit5 技术前瞻
更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6868495.html JUnit ...
- windows(xshell)免密码登录
windows(xshell)免密码登录 第一步生成密钥文件 打开xshell 选个工具栏的工具如下图 选择密钥类型和长度,如下图 密钥会自动生成,如下图,点击下一步即可 设置给密钥加密的密码也可以不 ...