一、函数是什么:

  函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用函数名就行。

二、函数的作用:

  1、简化代码

  2、提高代码的复用性

  3、代码可扩展

三、定义函数:

  1. def SayHello(): #函数名
  2. print('Hello')#函数体
  3. SayHello() #调用函数,函数不调用是不会被执行的

 四、函数的参数

位置参数:必填参数

  1. def calc(a,b): #形参,形式参数
  2. res = a * b
  3. print('%s * %s = %s'%(a,b,res))
  4. calc(8.9,2.7) #实参,实际参数

默认值参数:非必填参数

  1. # 操作文件函数(读和写)
  2. def op_file(file_name,conent=None): #conent为写的内容
  3. f = open(file_name,'a+',encoding='utf-8')
  4. f.seek(0)
  5. if conent: #conent不为空代表写入文件
  6. f.write(conent)
  7. f.flush()
  8. else: #conent为空时读文件
  9. all_users = f.read() #函数里面定义的局部变量只能在函数里面用
  10. return all_users #调用完函数之后,返回什么结果
  11. f.close()
  12. # 把函数返回的结果存入变量
  13. res = op_file('a.txt')
  14. print(res)

 非固定参数(参数组):

  1、非必填参数

  2、不限定参数个数

  3、把所有参数放到一个元组里面

  1. def syz(*args): #参数组
  2. print(args)
  3. username = args[0]
  4. pwd = args[1]
  5. age = args[2]
  6. syz()
  7. syz('niuniu','')
  8. syz('niuniu','niuniu','test')
  9. def syz2(a,*args):
  10. print(a)
  11. username = args[0]
  12. pwd = args[1]
  13. age = args[2]
  14. syz2()
  15. syz2('niuniu','')
  16. syz2('niuniu','niuniu','test')

 关键字参数:

  1、非必填参数

  2、不限定参数个数

  3、把所有参数放到一个字典里面

  1. def syz(**kwargs):
  2. print(kwargs)
  3. syz()
  4. syz(name='niuniu',age=23)
  5. syz(name='niuniu',age=23,add='回龙观',home='河南')
  6. def syz2(time,**kwargs):
  7. print(kwargs)
  8. syz2('')
  9. syz2(name = 'niuniu',age = 23,time = '')
  10. syz2('',name = 'niuniu',age = 23,add = '回龙观',home = '河南')

 五、全局变量

1、不安全,所有人都能改

2、全局变量会一直占用内存

  1. name = '牛牛' #全局变量
  2. def sayName():
  3. global name #如果需要修改全局变量,需要先声明
  4. name = '刘伟'#局部变量
  5. print('name1:',name)
  6. sayName()
  7. print('name2:',name)

 六、递归函数:函数自己调用自己

  1、少用递归

  2、递归最多调用999次,效率不高

  1. def test():
  2. num = int(input('please enter a number:'))
  3. if num % 2 == 0:#判断输入的数字是不是偶数
  4. return True #如果是偶数的话,程序就退出了,返回True
  5. print('不是偶数请重新输入!')
  6. return test() #如果不是偶数的话继续调用自己,输入值
  7. print(test()) #调用函数

七、函数返回多个值

  1. # 定义一个函数返回多个值
  2. def say():
  3. num1 = 1
  4. num2 = 2
  5. num3 = 3
  6. return num1,num2,num3
  7. # 函数返回多个值会把它放到一个元组里面
  8. print(say())
  9. # 函数如果返回多个值,可以用多个变量来接收
  10. res1,res2,res3 = say()
  11. print(res1)
  12. print(res2)
  13. print(res3)

Python学习之==>函数的更多相关文章

  1. python学习8—函数之高阶函数与内置函数

    python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释 ...

  2. python学习7—函数定义、参数、递归、作用域、匿名函数以及函数式编程

    python学习7—函数定义.参数.递归.作用域.匿名函数以及函数式编程 1. 函数定义 def test(x) # discription y = 2 * x return y 返回一个值,则返回原 ...

  3. 从0开始的Python学习007函数&函数柯里化

    简介 函数是可以重用的程序段.首先这段代码有一个名字,然后你可以在你的程序的任何地方使用这个名称来调用这个程序段.这个就是函数调用,在之前的学习中我们已经使用了很多的内置函数像type().range ...

  4. python学习Day10 函数的介绍(定义、组成、使用)

    今日学习内容: 1.什么是函数 :函数就是一个含有特定功能的变量,一个解决某问题的工具 函数的定义:通过关键字def + 功能名字():代码体(根据需求撰写代码逻辑) 2.为什么要用函数:可以复用:函 ...

  5. Python学习之函数参数

    上一节,我们学习了Python中是如何定义和调用函数且如何得到返回值的.在调用函数时,有的函数需要参数来启动函数,有的则无需参数.这一节我们来介绍Python中有哪些参数类型. 位置参数 在调用函数时 ...

  6. Python学习笔记 - 函数参数

    >>> def power(x): ... return x * x ... >>> power(5) 25 >>> def power(x, n ...

  7. Python学习笔记—函数

    函数 我们知道圆的面积计算公式为: S = πr2 当我们知道半径r的值时,就可以根据公式计算出面积.假设我们需要计算3个不同大小的圆的面积: r1 = 12.34 r2 = 9.08 r3 = 73 ...

  8. Python学习之函数篇

    python查看对象,函数帮助文档:.__doc__,例:str.split.__doc__ 查看详细对象,函数文档:help(),例:help(str.split) 函数参数可设置默认值 如果不能提 ...

  9. Python学习--05函数

    Python函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.我们已经知道Python提供了许多内建函数,比如print().但我们 ...

  10. python学习:函数的学习

    我们写东东的时候,往往有一些东西要频繁去复用,那么每个功能是10行代码,复用2次就是20行,这样看来我们的程序如果频繁利用某些代码的话,那么会是我们开发的东西越来越臃肿.那么好的方法有没有呢,那就是函 ...

随机推荐

  1. pandas库

    pandas是基于NumPy数组构建的,特别是基于数组的函数和不使用for循环的数据处理.虽然pandas采用了大量的NumPy编码风格,但二者最大的不同是pandas是专门为处理表格和混杂数据设计的 ...

  2. 为什么对华为不拍Arm?

    华为可以靠着现有的 ARMv8 授权坚持很长一段时间,足以等到这波科技禁运结束. 今天,华为在美国遭遇的科技禁运上升到了全球新高度. 据 BBC 报道,由软银全资拥有的英国技术公司 Arm 向员工发出 ...

  3. php中禁止单个ip与ip段访问的代码小结

    1.禁止单个IP <?php //IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...

  4. [POJ1664]放苹果(动态规划)

    [POJ1664]放苹果 Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第 ...

  5. linux 生成密钥和公钥,实现免密登录

    1. 在相应的用户根目录下生成密钥公钥,输入如下命令: ssh-keygen -t rsa 2. 直接三次回车:会生成两个文件:id_rsa / id_rsa.pub,分别为密钥和公钥 3.  打开公 ...

  6. IntelliJ IDEA设置项目和properties文件编码为UTF-8

    https://blog.csdn.net/u012430402/article/de IntelliJ IDEA设置项目和properties文件编码为UTF-8   tails/79633245

  7. Docker报错解决

    今天我在学习docker的时候,用docker安装nginx的时候报了如下错误: 尝试了卸载docker重装,删除nginx,删除nginx镜像文件都没有用,最后发现还是Linux和docker版本兼 ...

  8. /etc/sysconfig/network-scripts/ifcfg-ens33

    因为最近重新搭建CDH集群: DEVICE     接口名(设备,网卡) USERCTL    [yes|no](非root用户是否可以控制该设备) BOOTPROTO  IP的配置方法[none|s ...

  9. 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 ...

  10. Python 爬虫十六式 - 第五式:BeautifulSoup-美味的汤

    BeautifulSoup 美味的汤 学习一时爽,一直学习一直爽!    Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 Xpath 的使用方法.Xpath 我觉得还是 ...