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 ...
随机推荐
- Pycharm激活方法步骤
Pycharm激活步骤 第一步:找到hosts文件 先按下键盘的win + r ,然后复制c:\windows\system32\drivers\etc粘贴到对话框回车打开文件管理器 第二步:修改ho ...
- 构建高性能的MYSQL数据库系统-主从复制
实验环境: DB1:172.16.1.100 DB2:172.16.1.101 VRRIP:172.16.1.99 步骤: yum -y install mysql 1.修改DB1的mysql配置文件 ...
- python多线程学习三
本文希望达到的目标: 1.服务器端与线程池 (实例demo) 2.并发插入db与线程池(实例demo) 3.线程池使用说明 4.线程池源码解析 一.基于socket的服务器与线程池连接. 1.在i7 ...
- 牛客网 查找第K小数
题目链接:https://www.nowcoder.com/practice/204dfa6fcbc8478f993d23f693189ffd?tpId=40&tqId=21522&t ...
- c#查找窗口的两种办法
原文最早发表于百度空间2009-06-17 1.process.MainWindowTitle(这个只能获取一部分窗口)2.EnumWindows(用windows API)
- Docker Swarm 环境搭建
Docker Swarm 环境搭建 swarm 使用前提 1.Docker版本1.12+ Docker升级教程:https://www.cnblogs.com/xiangsikai/p/9935894 ...
- Bugku-CTF之看看源代码吧
Day13 看看源代码吧 http://123.206.87.240:8002/web4/ 本题要点:url解码 首先看到文本框,我们还是要习惯性输入一下
- springboot日志配置
默认情况下,spring boot使用的是LogBack日志系统.在spring-boot-starter-web和spring-boot-starter中都已经默认依赖了logging的工具包. 如 ...
- mysql常用的查询优化
原文链接:https://www.jb51.net/article/39221.htm 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2 ...
- abstract class和interface的异同
含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象.含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必 ...


*args显示的是元组
