栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python函数的相关用法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python函数的相关用法

函数:
1、什么是函数
c语言是一种面向过程的语言
函数就是行为,就是动作,就是功能,就是过程
2、python如何定义函数
关键字 def 【defined function】
函数名称的命名规范就是变量命名规范(大小写字母,数字,下划线)
def 函数的名称():
#函数体
#[return 返回值 ]
3、函数的分类
以有没有返回值
有返回值函数
无返回值函数
有没有参数
有参函数
无参函数

定义函数的举例:

 无参函数:
 def hanshu():
 		print("hello")
 hanshu()#函数的调用	
 有参函数:
 def show_info (name,age,address):
 			print("我叫{}".format(name))
 			print("我的年龄是{}".format(age))
 			print("我在住在{}".format(address))
 show_info("盖伦",25,"召唤师峡谷")

有参函数运行结果为:

     有参有返回值函数
     def count(x,y):#求两个数的和
     		return x + y
     num1=int(input("请输入第一个数"))
     num2=int(input("请输入第二个数"))
     res=count(num1,num2)
     print("{}+{}={}".format(num1,num2,res))

有参有返回值运行结果为:

函数的分类
是否存在返回值
1)有返回值的函数
使用return关键字返回结果
函数遇到return关键字,则立刻返回
2)无返回值函数
是否存在参数
1)有参函数
参数的个数,根据情况任意
更熟的类型,是任意类型(python是弱数据语言)
2)无参函数
函数的定义者
1)系统函数
由官方定义的函数
print,input,type
2)第三方定义
需要安装这些模块,才能使用
pip,install模块名称
pip(python install package)(python的安装包)
3)自定义函数
我们自己写的函数
注意:命名时一定要注意,和系统的(全局函数,变量。。)不要冲突
全局变量和局部变量:
全局变量:
直接定义在py(模块)文件中的变量
局部(本地)变量:
定义在函数内部的变量叫做局部变量
因此只能在函数的内部使用,在外界访问不到
注意:全局变量在函数直接访问,可以正常访问,弱国要在函数内部修改全局变量,python不允许改动
如果一定要修改——>提前声明,这个函数需要修改某个全局变量
在函数的第一行,global关键字声明需要修改全局变量

函数调用的本质
函数的本质就是一个对象
压栈(push):将函数从堆内存中放到栈中执行
弹栈(pop):函数执行完后曾后出栈内存
注意:ls中实际时一个指针,在全局中加入变量,任然可以进行运算,
但 是值传递缺不行,因为值时直接进行压栈的
函数的本质就是一个对象,参数的类型是任意类型

函数的参数:
默认值参数:
就是说,如果函数的参数,在大多数情况下,值是固定的一个值,此时这个时候,如果不传该参数,值就取默认的,
如果传递了,则按照传递的算
可变参数:
在python中,如果一个函数中参数可能有很多(这些参数也可以没有)
参数名称(习惯性args)
注意:可变参数默认是以元组分装所有参数
命名参数(关键字参数):
**参数名称
函数递归:
1、什么是递归
两个条件:
1、函数自身调用自身
2、一定要有终止条件!!!(否则是一个死循环)
注意:python中,不允许递归操作超过1000条,如哦一定要调整,可以使用如下代码
import sys
#获取递归限制次数
sys.getrecursionlimit()
#重新设备递归限制次数
sys.setrecursionlimit(1000)
匿名函数:
在早期python中,是没有办法做匿名函数的
原因在于python是一个严格缩进语言
lambda表达式:

			     #没有参数的匿名函数
				test(lanmbda:print("这是一个没有参数的函数"))
				#存在参数的匿名函数
				test(lambda  a,b:print(a+b))

匿名函数的优点:简化了操作、语法简洁
缺点:代码的可读性降低了,维护成本升高了
最佳实践:如果函数参数是一个函数,这个函数比较简单,则可以使用lambda匿名函数

偏函数:
是一种语句的写法!!!
偏函数:python为了简化函数的调用,如果在调用时,某个或者某几个参数,一直都是固定的那么
我们就可以使用偏函数实现参数固定。
import functools
返回一个新的函数 = funtools.partial(需要转换的函数,需要固化的参数
也可以这样导入模块
from functools import partial
aa = partial(int,base = 2)

全局函数:
全局函数就是python官方提供给我们使用,不需要导入模块
python3提供的所有全局函数:

		    0
	abs', 'all', 'any', 'ascii', 'bin', 'bool', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile',
  'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit',
   'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int'
  , 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next',
'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr'
, 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

字符串对象:
字符串在python中就是一个基本数据
在python就是一个对象
构建一个字符串对象
’ ‘
“ ”
’“ ”‘
str(字符串) #创建或者转换字符串
字符串其本质是一个常量,他底层存储在常量缓冲区
因此也是一种不可变数据类型
字符串的常见方法:

	           , 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format
	           ', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower'
	           , 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans'
	           , 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith'
	           , 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
	       
			1)captialize( )                         首字母大写
			2)center( )								 剧中对齐
			3)ljust( )									 左对齐
			4)rjust( )								 右对齐
			5)count ( )								 统计字符串中出现的符号的次数
			6)startswitch( )						 以什么什么开始
			7)endswitch( )						 以什么什么结尾
			8)find( )									 查找某种符号第一次出现的位置,如果没有该符号,则返回-1
			9)index( )		      					 查找某种符号第一次出现的位置,如果没有该符号,则抛出异常
	       10)rfind ( )								 查找某种符号最后一次出现的位置,如果没有该符号,则返回-1
	       11)rindex( )							 查找某种符号最后一次出现的位置,如果没有该符号,则抛出异常
	       12)isalnum								 只能由大小写字母、数字组成
		   13)isalpha								 只能由大小写字母
		   14)isascii							     只能由ASCII表中符号组成
		   15)isdecimal							 数字
		   16)isdigit								 数字
		   17)isidentifier							 有效字符
		   18)islower								 小写字母
		   19)isupper								 大写字母
		   20)isprintable							 判断打印的是否是制表符
		   21)isspace( )			                 判断是否是空格
		   22)istitle	( )								 判断是否是标题
		   23)join( )								 按照特定的符号链接元素,组成字符串
		   24)split( )							     将字符串按照特定的符号分割成列表
		   25)lower( ) 							 将字符串转换为小写
		   26)upper( )								 将字符串转换为大写
		   27)strip( )								 清楚字符串两侧的空格
		   28)lstrip( )								 清除字符串左侧的空格
		   29)rstrip( )								 清除字符串右侧的空格
		   30)replace( )							 替换字符串
		   31)title( )								 转换为标题模式
		   32)translate配合maketrans可以实现简单加密效果(类似于凯撒加密)
		   33)encode(编码规范 )   		 	 编码的,将字符串转换为字节数据
		   34)decode(解码规范)				 解码的,将字节转换为字符串

注意:编码和解码使用同一种编码规则,推荐使用utf-8

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/499427.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号