Python学习之==>函数
一、函数是什么:
函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用函数名就行。
二、函数的作用:
1、简化代码
2、提高代码的复用性
3、代码可扩展
三、定义函数:
- def SayHello(): #函数名
- print('Hello')#函数体
- SayHello() #调用函数,函数不调用是不会被执行的
四、函数的参数
位置参数:必填参数
- def calc(a,b): #形参,形式参数
- res = a * b
- print('%s * %s = %s'%(a,b,res))
- calc(8.9,2.7) #实参,实际参数
默认值参数:非必填参数
- # 操作文件函数(读和写)
- def op_file(file_name,conent=None): #conent为写的内容
- f = open(file_name,'a+',encoding='utf-8')
- f.seek(0)
- if conent: #conent不为空代表写入文件
- f.write(conent)
- f.flush()
- else: #conent为空时读文件
- all_users = f.read() #函数里面定义的局部变量只能在函数里面用
- return all_users #调用完函数之后,返回什么结果
- f.close()
- # 把函数返回的结果存入变量
- res = op_file('a.txt')
- print(res)
非固定参数(参数组):
1、非必填参数
2、不限定参数个数
3、把所有参数放到一个元组里面
- def syz(*args): #参数组
- print(args)
- username = args[0]
- pwd = args[1]
- age = args[2]
- syz()
- syz('niuniu','')
- syz('niuniu','niuniu','test')
- def syz2(a,*args):
- print(a)
- username = args[0]
- pwd = args[1]
- age = args[2]
- syz2()
- syz2('niuniu','')
- syz2('niuniu','niuniu','test')
关键字参数:
1、非必填参数
2、不限定参数个数
3、把所有参数放到一个字典里面
- def syz(**kwargs):
- print(kwargs)
- syz()
- syz(name='niuniu',age=23)
- syz(name='niuniu',age=23,add='回龙观',home='河南')
- def syz2(time,**kwargs):
- print(kwargs)
- syz2('')
- syz2(name = 'niuniu',age = 23,time = '')
- syz2('',name = 'niuniu',age = 23,add = '回龙观',home = '河南')
五、全局变量
1、不安全,所有人都能改
2、全局变量会一直占用内存
- name = '牛牛' #全局变量
- def sayName():
- global name #如果需要修改全局变量,需要先声明
- name = '刘伟'#局部变量
- print('name1:',name)
- sayName()
- print('name2:',name)
六、递归函数:函数自己调用自己
1、少用递归
2、递归最多调用999次,效率不高
- def test():
- num = int(input('please enter a number:'))
- if num % 2 == 0:#判断输入的数字是不是偶数
- return True #如果是偶数的话,程序就退出了,返回True
- print('不是偶数请重新输入!')
- return test() #如果不是偶数的话继续调用自己,输入值
- print(test()) #调用函数
七、函数返回多个值
- # 定义一个函数返回多个值
- def say():
- num1 = 1
- num2 = 2
- num3 = 3
- return num1,num2,num3
- # 函数返回多个值会把它放到一个元组里面
- print(say())
- # 函数如果返回多个值,可以用多个变量来接收
- res1,res2,res3 = say()
- print(res1)
- print(res2)
- print(res3)
Python学习之==>函数的更多相关文章
- python学习8—函数之高阶函数与内置函数
python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...
- python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程
python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...
- 从0开始的Python学习007函数&函数柯里化
简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range ...
- python学习Day10 函数的介绍(定义、组成、使用)
今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...
- Python学习之函数参数
上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...
- Python学习笔记 - 函数参数
>>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...
- Python学习笔记—函数
函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...
- Python学习之函数篇
python查看对象,函数帮助文档:.__doc__,例:str.split.__doc__ 查看详细对象,函数文档:help(),例:help(str.split) 函数参数可设置默认值 如果不能提 ...
- Python学习--05函数
Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们 ...
- python学习:函数的学习
我们写东东的时候,往往有一些东西要频繁去复用,那么每个功能是10行代码,复用2次就是20行,这样看来我们的程序如果频繁利用某些代码的话,那么会是我们开发的东西越来越臃肿.那么好的方法有没有呢,那就是函 ...
随机推荐
- pandas库
pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理.虽然pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的 ...
- 为什么对华为不拍Arm?
华为可以靠着现有的 ARMv8 授权坚持很长一段时间,足以等到这波科技禁运结束. 今天,华为在美国遭遇的科技禁运上升到了全球新高度. 据 BBC 报道,由软银全资拥有的英国技术公司 Arm 向员工发出 ...
- php中禁止单个ip与ip段访问的代码小结
1.禁止单个IP <?php //IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...
- [POJ1664]放苹果(动态规划)
[POJ1664]放苹果 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第 ...
- linux 生成密钥和公钥,实现免密登录
1. 在相应的用户根目录下生成密钥公钥,输入如下命令: ssh-keygen -t rsa 2. 直接三次回车:会生成两个文件:id_rsa / id_rsa.pub,分别为密钥和公钥 3. 打开公 ...
- IntelliJ IDEA设置项目和properties文件编码为UTF-8
https://blog.csdn.net/u012430402/article/de IntelliJ IDEA设置项目和properties文件编码为UTF-8 tails/79633245
- Docker报错解决
今天我在学习docker的时候,用docker安装nginx的时候报了如下错误: 尝试了卸载docker重装,删除nginx,删除nginx镜像文件都没有用,最后发现还是Linux和docker版本兼 ...
- /etc/sysconfig/network-scripts/ifcfg-ens33
因为最近重新搭建CDH集群: DEVICE 接口名(设备,网卡) USERCTL [yes|no](非root用户是否可以控制该设备) BOOTPROTO IP的配置方法[none|s ...
- POJ-1904-King‘s Quest
链接: https://vjudge.net/problem/POJ-1904 题意: Once upon a time there lived a king and he had N sons. A ...
- Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤
BeautifulSoup 美味的汤 学习一时爽,一直学习一直爽! Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 Xpath 的使用方法.Xpath 我觉得还是 ...