一、函数是什么:

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

二、函数的作用:

  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学习之==>函数的更多相关文章

  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. OpenCV笔记(I)

    这里记一下开始入手OpenCV碰到的一些问题以及解决办法.学习参考书是<OpenCV 4 计算机视觉项目实战(原书第2版)>,ISBN:978-7-111-63164-4. Ubuntu ...

  2. linux centos中安装flash player

    本机为centos 7.0 64 1.用火狐浏览器随便打开一个视频网站,找到一个视频点进去,网站会提示未安装flash player.点击进去到adobe官网.2.下载flash player插件,可 ...

  3. Qt Creator 4.9 发布

    Qt Creator 4.8中引入了语言服务器协议支持,允许Qt Creator通过利用此标准轻松支持更多编程语言,使IDE和其他编程工具可以轻松地获得通用编程语言支持的交换格式.使用Qt Creat ...

  4. DECLARE_GLOBAL_DATA_PTR

    DECLARE_GLOBAL_DATA_PTR在arch/arm/include/asm/global_data.h中定义 #include <asm-generic/global_data.h ...

  5. jQuery $.ajax传递数组的traditional参数传递必须true 对象的序列化

    数组类型参数传递: 若一个请求中包含多个值,如:(test.action?tid=1&tid=2&tid=3),参数都是同一个,只是指定多个值,这样请求时后台会发生解析错误,应先使用 ...

  6. 前端每日实战:158# 视频演示如何用纯 CSS 创作一个雨伞 toggle 控件

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/pxLbjv 可交互视频 此视频是可 ...

  7. 九、爬虫框架之Scrapy

    爬虫框架之Scrapy 一.介绍 二.安装 三.命令行工具 四.项目结构以及爬虫应用简介 五.Spiders 六.Selectors 七.Items 八.Item Pipelin 九. Dowload ...

  8. python的flex服务端数据接口开发

    python的flex服务端数据接口开发 python 如果给flex提供服务端,需要提供一个网关和一个可供客户端(flex)调用的类.这方面我更加推荐用twisted来写这个网关,因为twisted ...

  9. form表单和CSS

    一.form表单 1. form表单有什么用 能够获取用户输入的信息(输入,选择, 上传的文件),并且将这些数据全部发送给后端 2. form表单的用法 (1)有两个重要参数: action : 控制 ...

  10. java获取访问者真实的IP地址

    众所周知java方法request.getremoteaddr()可以获得访问者的IP地址 但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件 ...