python函数

函数:

1、什么是函数
        函数 过程 功能 行为 动作
        实现了某一功能或者某些功能指令的集合,函数就是一个功能就是一个过程!!!
2、python如何定义
    def 关键字 # define function
def函数名称([参数列表]) :
    #函数体
    #可以通过return返回返回值
    #[return 函数的返回值]
3、函数的调用
        函数定义完成后,并不会自己调用,加载到内存中,等待调用者来调用
        函数名称([参数列表 ])

作为拼接字符串进行使用:’{}’.format(变量)
4、函数分类:
函数的分类
   |–以函数是否存在参数
     I–有参数
     |–无参数
   |–以是否存在返回值
     |–有返回值
     |–没有和返回值
5、全局变量
在 python 中,定义在py文件的变量,叫做全局变量,特点:在代码运行时,变量始终有效(不是手动回收)
局部变量:
定义在函数中的变量叫做局部变量,当函数被垃圾机制回收,该变量也会被回收掉,局部变量的作用域也只有在函数内有效。

在函数外面不能访问到函数内部定义变量(局部变量)
反过来说,在函数内部可以访问本地变量(全局变量)
函数使用全局变量的注意点:如果一定要在函数中操作全局变量,要在函数中使用global关键字来申明 global 变量名
函数的调用过程:
函数调用本质就是压栈,
调用完成后会进行弹栈。
注意:强数据类型语言中,函数不允许传递函数,弱数据类型,可以将函数作为值传递
在这里插入图片描述
一个python的文件有两种使用的方法,第一是直接作为脚本执行,第二是import到其他的python脚本中被调用(模块重用)执行。因此if name == ‘main’: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main’: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。

注意:当参数中有值的,默认值参数,也就是说,如果在调用的是,给这个参数赋值了,则按照赋值的情况算,如果没有赋值,也不报错,按照默认值算。

可变参数:
在这里插入图片描述
代表传递参数为键值对
在这里插入图片描述
注意参数顺序不能错(普通参数最前面,然后默认参数,命名参数,关键字参数最后面)
在这里插入图片描述
匿名函数
没有名称的函数。称为匿名函数
function ([参数列表]){
   //代码块
   xxx
   xxx
   return 返回值;
}//使用场景:有且只用一次,简单,内存优化

python中lambda的怎么书写:
lambda [参数列表]:代码 #如果需要返回,则不需要写返回值会自动返回
在python中,lambda代指一个没有名称的函数(匿名函数)
一般lambda,也就是匿名函数,一般表示简单的函数[ (一行或者两行)


例:
在这里插入图片描述
偏函数
在python中,我们有时候需要调用某个函数,如果想讲该函数的中某个参数设置一个固定值,那么就可以使用偏函数的东西。
functools 系统内置模块
导入functools模块下所有的包:
import functools
导入functools模块下的单独的包(partial):
from functools import partial

partial(函数名称,参数=固定的值…)
在这里插入图片描述

全局函数
在 import builtins 的模块下

abs()   #求数值的绝对值,如果是复数则返回其模
print(abs(30.2)

ascii()  #以ascii码依据转换为字符串,非ascii如UTF-8字符则有\u前缀进行转义

bin()    #整数转换为二进制字符串

ord() #返回Unicode字符对应的数字
chr() #返回数字对应的Unicode字符
dir() #没有参数返回当前作用域变量和方法列表,添加对象则返回对象中变量和方法列表
dict() #生成一个新的字典对象
eval() #运行字符串代码,不改变源码逻辑,可完成数学运算
filter() #依次取出iterable中元素交给一个函数,取返回True的元素

format() #格式化字符串 
name=“xiaoming”
print("{name} is studying python".format(name=name))


hex() # 将整数转换为16进制
input() # 获取终端标准输入,自动去除末尾换行符,返回的是字符串
len() #获取长度
next() # 获取迭代器下一个值,没有则触发StopIteration错误,也可以传递一个默认值,迭代耗尽时返回默认值
oct() # 将整数转换为8进制
pow(x,y) #x的y次方 
reversed() #将iterable对象反转
set() # 集合,将iterable对象中元素依次添加到集合中,集合天生无序和去重
slice() # 返回切片范围对象, start, end, step
sorted() #将iterable对象进行排序
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值