0
点赞
收藏
分享

微信扫一扫

python函数之函数参数(5)

一、实参传参

Python中它的函数参数类型是,非常灵活的,但是它灵活不代表你可以这样使用,反而应该有敬畏之心,应该去限制它的类型。往往出问题都是从类型开始的。Python在以后更新的版本中,逐步加入了对类型的限制,就是为了解决在工程化编程的时候要面临的这些问题。

python的参数类型,与其他语言不一样,导致传参类型也不一样。参数分为两种一种是定义式的形式参数,另一种是调入的实实在在的参数。我们先介绍实参。

调用时,传参,传入实参的简称
	def add(x,y):
    	print(x,y)
    	return x+y

	add(4,5) 按照位置传参数
	add(x=4,y=5) 关键字传参数
		关键字传承,按照参数名称对应与顺序无关
    
   add(x=8,5)这样写是不允许的,会出现语法错误
		位置传参,不能跟在关键字传参之后

	 想混合使用,关键字传参和位置传参,位置传参要在前,关键字传参要在后面
		 add(4,x=5)

调用的时候才有传参的说法,定义的时候是形参。

传参数方式就两种:

  1.位置传参

  2.关键字传参数,按照参数名称对应与顺序无关

二、形参定义

python中的形参定义非常复杂,比较看水平。

1.形参缺省值问题:

缺省值也称为默认值,可以在函数定义时,为形参增加一个缺省值。其作用有,当你参数给的不全的时候,缺省值来补充。还要就是参数非常多的时候,我们缺省值可以简化调用。

def add(x=4,y=5):
   	 	print(x,y)
    	return x+y
		
		print(add())
	定义时,为形参安排一个缺省值
	调用的时候如果不给参数,就直接用默认的
  这样一来add()函数调用后,直接就是4和5相加就是9。
  
  调用的时候如果提供了参数,就使用,没提供参数就使用默认的缺省值
  
  add(4,5,x=10) 这样调用可以吗?
  	不可以的,会报错的,出现类型错误。参数X在传参的时候被多次赋值
  	x赋值给4之后,在x=10,是不允许的,这样的传参方式一般都是错误的
  
  add(4,5,6) 这样调用也会报错,函数需要两个参数,给三个参数一定不对

我们给参数要求一定要和形参匹配

2.一般或普通参数

就是能接受两种传参方式的参数,位置传参和关键字传参。

普通参数可以有缺省值,但是缺省值参数应该在普通参数列表的最后。

函数参数中要有缺省值的参数,必须放后面

def add(x,y=10):
    print(x, y)
    return x + y
    
add 是变量,add指向这种新函数对象
x,y都可以接收这两种传参方式,称为即可以接受位置,同时也可以接受关键字的参数
    普通参数可以有缺省值
    add(4)
    add(x=5)  这样调用可以

3.形参缺省值

函数形参带缺省值到底有什么用呢?

比如说登录函数,登录需要用户名、密码、IP、端口,这4个参数该怎么定义呢?

def login(host='localhost',port=3306,usename='root'
				,password='root'):
   
   print('mysql: //{2}:{3}@{0}:{1}/test'.format(
        host,port,usename,password ))
    
    #如果port不写缺省值就需要往前放
    
    测试时
    直接用 login() 可以直接连接本地
    输出 mysql: //root:root@localhost:3306/test

根据上面代码能推出缺省值能后简化函数调用操作。

这种写法适合在企业中开发使用,我们都会给缺省值,让对方在使用的时候,能够尽量的少去填充值。企业开发尽量使用缺省值,多人协作开发必须有规范和限制。



举报

相关推荐

0 条评论