Python基础七(函数)

函数概述

  函数:组织好的、可重复使用的。杉树能提高应用的模块性和代码的重复利用性。Python提供了很多的内置函数,比如len()等等,可以自行定义函数。

函数的定义

  def 函数名(参数列表):   #函数定义

    函数体

  函数名()        #函数执行

def namePrint():   #函数定义,这是无参数函数
    print("我的名字是:发发")

name()    #执行函数
def func2(a):    #定义了一个有形参的函数
    print(a)

func2("123")    #执行函数需要输入形参
def func3(a,b):
    print(a,b)
func3(a=4,9)   #错误

def func3(a,b):
    print(a,b)
func3(4,b=9)  #正确

默认参数传值

def func3(a,b,c='hello'):
    print(a,b,c)
func3(4,9)

>>4 9 hello

def func3(a,b,c='hello'):
    print(a,b,c)
func3(4,9,0)

>>4 9 0

 

获取函数文档字符串

def func1();
    "我是函数"    #文档字符串(只有第一行才是的)

print(func1._doc_)

 不定长参数

def func3(a,b,c,*d):
    print(a,b,c,d)
func3('a','b','c','d','e')

>>>a b c ('d', 'e')

def func3(a,b,c,*d,**e):
    print(a,b,c,d,e)
func3('a','b','c','d','e')

>>>a b c ('d', 'e') {}

必备参数

  函数定义中允许拥有多个形参,因此函数调用时,也可以包含多个实参想函数传递方式很多,通过实参和形参的顺序对应,这就是位置实参。只有位置一致才能被正确匹配。

可变对象与不可变对象的传输

  在Python 中,strings,tuples和numbers是不可更改的对象,而list、dict、和set等则是可以修改的对象。

  不可变类型:变量赋值a=5后再赋值a=10,这里实际是重新重新生成了一个int值对象10,再让a指向它,而5被丢弃,不是改变a的值,相当于新生成了a

  可变类型:变量赋值la=[1,2,3,4]后赋值la[2]=5,本身的la没有动,,只是其内部的一部分值被修改了

 函数参数参数-可变与不可变对象传输

  不可变类型:如fun(a),传递只传递a的值,没有影响a对象本身,只是修改另一个复制对象,不会影响a本身。

  可变类型:列表、字典。如fun(la),则是将la真正的传过去,修改后fun外部的la也会受影响。  

 函数return返回结束

def fun2():
    return 111  #结束了
    print(234)

fun2()
print(fun2())

>>>111

 

posted @ 2018-12-04 20:59  fafa_Love  阅读(192)  评论(0编辑  收藏  举报