码迷,mamicode.com
首页 > 编程语言 > 详细

Python学习之路3?形参与实参

时间:2017-02-18 09:40:24      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:位置   foo   domain   不可变类   复杂   默认   python   关键字   group   

#_*_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?形参与实参

标签:位置   foo   domain   不可变类   复杂   默认   python   关键字   group   

原文地址:http://www.cnblogs.com/Vae1242/p/6412204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!