python之函数

函数的重点如下:

1.def 标识

2.函数名

3.():

4.return

5.形式参数

6.实际参数

7.函数体

8.调用函数

#这是一个普通的函数
def sum():
    print(10)
    return 0

sum()

一个函数有返回值,如果没有return,就会返回none

#返回none
def sum():
    print(10)

ret=sum()
print(ret)
#带有参数的传递 number是形式参数
def sum(number):
    if number==123:
        return True
    elif number==12:
        return False
#这个123是实际参数
ret=sum(123)
print(ret)
#传递多个参数,实际参数与形式参数一一对应
def sum(number,number2):
    print(number,number2)
sum(123,234)

指定参数进行传递:

#传递多个参数,实际参数与形式参数一一对应
def sum(number,number2):
    print(number,number2)
    
sum(number2=123,number=234)
#number2是默认参数,当实参没有传递数值过来,那么number2就等于012
def sum(number,number2="012"):
    print(number,number2)

sum(123,345)
sum(123)

一个形参接受多个实参:

#*number可以接受多个参数,把这些参数弄成一个元祖
def sum(*number):
    print(number)

sum(123,345,"aaaaa","abdewd")

#输出结果如下:
(123, 345, 'aaaaa', 'abdewd')

那么这样,当传递一个列表进去,这个列表也是这个元祖的元素。那么如何才可以把这个列表的元素作为这个元祖的元素呢

#*number可以接受多个参数,把这些参数弄成一个元祖
def sum(*number):
    print(number)

sum(["a","b","c"])
#当在列表前面加多一个*,传递过去的列表元素,就成为元祖里面的元素了
sum(*["a","b","c"])

#输出结果如下:
(['a', 'b', 'c'],)
('a', 'b', 'c')

形成一个字典的做法如下:

#两个*的,会把接受到的实参形成一个字典
def sum(**number):
    print(number)

sum(k1="chen",k2="chen2")

#输出结果如下
{'k1': 'chen', 'k2': 'chen2'}
#非键值对的值会赋值给number0,而键值对的值赋值给number。在非键值对和
#键值对里面加入非键值对的时候,会提示错误的。还有形式参数里,*要在**前面,否则报错
def sum(*number0,**number):
    print(number0)
    print(number)

sum(1,2,3,k1="chen",k2="chen2")
#当没有**的时候,整个字典就成为了形参里的元素
#当有**的时候,整个字典的元素,就成为了形参里对应的元素
def sum(**kwargs):
    print(kwargs)

sum(k1={"k1":"chen"})
sum(**{"k1":"chen"})
#输出结果如下:

{'k1': {'k1': 'chen'}}
{'k1': 'chen'}

 

posted @ 2017-10-25 23:30  傻逼学python  阅读(94)  评论(0)    收藏  举报