函数的初识以及传参

函数

def 关键字  函数名

def my_len():

  l1=[1,2,3,4]

  count=0

  for i in l1:

    count+=1

  print(count)

my_len()

my_len()  执行函数  函数名()

函数的优点:

    减少代码的重复率

    增强代码的阅读性

函数最主要的目的:封装一个功能

函数的返回值:return

(1)函数中如果遇到return则直接结束函数

(2给函数的执行者(函数名加())返回值

return  None

return  单个值  原封不动的返回

return  多个值  一个元组,所有的返回值作为元祖的每一个元素

def func1():

  print(111)

  print(222)

  return

  print(333)

print(func1())  #整体是函数的执行者

###在工作中,函数中尽量不要出现print

函数的传参:

实参:函数的执行者(实参)实际的参数。

(1)位置参数:按顺序一一对应

def func1(x,y):

  print(x,y)

func1(1,2)

(2)关键字参数:可以不按顺序,但是必须一一对应

def func1(x,y):

  return x+y

print(func1(x=100,y=200))

(3)混合参数:关键字参数一定要在位置参数后面。

def func1(x,y,z,a,b)

  return x+y+z

print(func1(100,200,300,a=400,b=500))

形参:形式参数

(1)位置参数:按顺序一一对应

def func1(x,y,z):

  print(x,y,z)

func1(1,2,3)

(2)默认参数:给其传值,将其默认参数覆盖掉,不传值,不报错,使用默认参数。

def func1(x,y,a=666):

  print(x,y,a)

func1(1,2)

func1(1,2,999)

应用场景:不常改变的参数,但是一直在用。

三元运算:简单的if else结构才可以使用return x if x>y else y

def compare(x,y):

  return x if x>y else y

print(compare(100,101))

  

默认参数若是可变的数据类型,他始终使用的是一个,内存地址相同。

 

 def func1(x,l1=[]):
l1.append(x)
return l1
ret = func1(1)
print(ret,id(ret))
ret1 = func1(100)
print(ret1,id(ret1))

 

posted @ 2018-08-15 15:32  .why  阅读(239)  评论(0)    收藏  举报
Live2D