python浅学笔记2-函数


时间戳:2019年3月6日23:38:55

Python 函数

一些常用函数

常用函数调用 abs() max() float() str() bool() hex() isinstance(x,(int,str))

定义函数

定义一个函数 使用关键字 def 例如:

def my_abs(x):
	if x:
		return x
	else:
		return -x

如果没有return语句,函数返回None

定义一个空函数

def nop():
	pass

pass可以作为占位符,充当一个能代替一个将要完成的代码块
在命令行导入某个文件的某个函数 from 文件名 import 函数名

函数可以返回多个值,在return 语句中用 , 隔开 return返回的真是值其实是一个单一的tuple,tuple在return语句中可以省略括号,并且用多个参数来接受这个tuple

函数参数

Python有必选参数、默认参数、可变参数和关键字参数

必选参数、默认参数

def f1(x):  #x为必选参数
	print(x)
def	f2(x,y = 1):	#x为必选参数,y为默认参数,必选在前,默认在后
	print(x,y)
def f3(x = 1,y = 2): 
	print(x,y)
#多个默认参数的调用
f3() # x = 1,y = 2
f3(3) # x = 3,y = 2
f3(3,4) # x = 3,y = 4
f3(y=2) #  x = 1,y = 2

定义默认参数时,参数一定要是不可变参数
如果定义成可变参数会有一个大坑。如:

def f(x = []):
	x.append('end')
	print(x)
f() # 打印['end']
f() # 打印['end','end']
f() # 打印['end','end','end']

发生了什么?在定义函数 f 时,x参数被默认绑定的值 是 指向对象[] 的引用在以后使用默认值调用f时,永远都使用最初定义的那个引用

在Python中不变对象好像很重要的样子,还有多任务环境(是多线程吗)对这些对象处理

可变参数

即函数的参数个数可变

def f(*x):
	for m in x:
		print(m)

f(1) # print(1)
f(1,2,3) # print(1) print(2) print(3)
f(*[1,2,3,4,7]) #调用可变参数的函数,可以用前面标*的 list 或 tuple 传入

可变参数的调用,实质上会把传入的参数在底层包装成一个tuple做处理

关键字参数

即可为函数传入带有参数名的参数,并且参数数量可变,多应用于接口的扩展,让调用者可以提供更多信息
方法,用双*标识参数dict,传入dict的备份

def f(x,</
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值