首页 > 代码库 > Python学习之路3?形参与实参
Python学习之路3?形参与实参
#_*_coding:utf-8_*_
#!/usr/bin/env python
#========================》实参的使用《=========================
# def foo(x,y):
# print(x)
# print(y)
#按位置传值
# foo(1,2)
# foo(2,1)
#按关键字传值
# foo(y=2,x=1)
#注意问题一:针对同一个形式参数,你可以按照位置或者按照关键字传值,但是只能用一种方式
# foo(1,x=1,y=2)
#注意问题二:按关键字传值必须在按位置传值的右边
# foo(x=1,2)
#========================》形参的使用《=========================
#位置参数,默认参数,*args可变参数,**kwargs
# def foo(x,y,z):
# print(x)
# print(y)
# print(z)
#位置参数:必须传值
# foo(1,2,3,4)
# foo(x=1,z=2,y=3)
#默认参数
# def foo(x,y=2):
# print(x)
# print(y)
# foo(1)
# foo(1,3)
# foo(x=1,y=5)
#通常把变化比较小的参数定义成默认参数
# def register(user,age,gender=‘male‘):
# print(user)
# print(age)
# print(gender)
#
# register(‘egon‘,18)
#默认参数必须在位置参数右边
# def foo(x=1,y):
# pass
#默认参数一定要定义成一个不可变类型
# def foo(x,l=[]):
# l.append(x)
# return l
#
# print(foo(1)) #[1]
# print(foo(2)) #[2]
# print(foo(3)) #[3]
#默认参数在定义时就已经被赋了一个明确的值了,后期的变化对其无效
# name=‘lixiaohui‘
# def foo(x,y=name):
# print(x)
# print(y)
#
# name=‘xiaobihu‘
# foo(1)
#总结默认参数的好处:1.降低了函数调用的复杂度 2可用来扩展函数功能
# def auth(user,group,project=‘default‘,domain=‘default‘):
# pass
# auth(‘egon‘,‘IT‘)
# def sql(cmd,type=‘select‘):
# if type == ‘select‘:
# print(‘select func‘,cmd)
# elif type == ‘insert‘:
# print(‘insert func‘, cmd)
# # sql(‘select * from mysql.user‘)
#
# sql(‘insert into ...‘,type=‘insert‘)
#*args **kwargs
Python学习之路3?形参与实参