函数 day9

一,什么是函数?

函数的定义与调用

s = 'fkdsagadfdsagfdsagg'
count = 0
for i in s:
    count += 1
print(count)



l1 = [1,2,3,4,5,6,5,4,3]
count = 0
for i in l1:
    count += 1
print(count)
重复使用
代码可读性差
def my_len():  #def 关键字,定义函数, 空格 函数名(变量)
    l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
    count = 0
    for i in l1:
        count += 1

my_len()  # 函数名 + () 执行此函数

函数是以功能为导向,函数内部尽量不要有print

l1 = [1,2,3,4,5,6,5,4,3]
ret = len(l1)
print(ret)

 函数的定义

定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

   def 是固定的,不能变,他就是定义函数的关键字。

   空格 为了将def关键字和函数名分开,必须空(四声),当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。

   函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能

   括号:是必须加的,先别问为啥要有括号,总之加上括号就对了!

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在函数下面第一行。以增强代码的可读性。

调用:就是 函数名() 要记得加上括号。

 

二,函数的返回值。

def my_len():  # def 关键字,定义函数, 空格 函数名(变量)
    l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
    count = 0
    for i in l1:
        count += 1


my_len()  # 函数名 + () 执行此函数

函数是以功能为导向,函数内部尽量不要有print

l1 = [1,2,3,4,5,6,5,4,3]
ret = len(l1)
print(ret)

return 1:遇到return 此函数结束,不在向下进行.
      2 ,return 返回值
                    不写return   返回 None
                    return None  返回 None
                    return 单个值  返回此单个值
                    return 多个值  将多个值包在元组中,返回给调用者此元组
def my_len():
    l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
    print(1111)
    print(222)
    return  遇到return 此函数结束,不在向下进行
print(333)
def my_len():
    l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
    count = 0
    for i in l1:
        count += 1
    return count
ret = my_len()
print(ret)

def my_len():
    l1 = [1, 2, 3, 4, 5, 6, 5, 4, 3]
    count = 0
    for i in l1:
        count += 1
    return 1,2,[123,2]

ret1,ret2,ret3 = my_len()  # (1,2,[123,2])
print(ret1,ret2,ret3)
ret = my_len()
ret1 = ret[0]
ret2 = ret[1]
ret3 = ret[2]

但是咱们写的这个函数,并不会得到这样的结果,如何让他和len函数一样,有返回值呢?

那就是在函数的最后加上一个return,return 后面写你需要的返回值就可以了。

#函数定义
def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    return length

#函数调用
str_len = mylen()
print('str_len : %s'%str_len)

return返回值

 

return关键字的作用:

return关键字的作用

  return 是一个关键字,在pycharm里,你会看到它变成蓝色了。你必须一字不差的把这个单词给背下来。

  这个词翻译过来就是“返回”,所以我们管写在return后面的值叫“返回值”

要研究返回值,我们还要知道返回值有几种情况:分别是没有返回值、返回一个值、返回多个值

没有返回值

  不写return的情况下,会默认返回一个None:我们写的第一个函数,就没有写return,这就是没有返回值的一种情况。 

#函数定义
def mylen():
    """计算s1的长度"""
    s1 = "hello world"
    length = 0
    for i in s1:
        length = length+1
    print(length)

#函数调用
str_len = mylen()
#因为没有返回值,此时的str_len为None
print('str_len : %s'%str_len)

没有return

 

 三,函数的参数。

函数的两种类型的参数:一种是函数定义里的形参,另一种是调用函数的实参。在调用函数的时候,函数内部,实参会赋值给形参,。

s = 'fdsafsda'
l2 = [1, 2, 3, 4, 5, 6, 5, 4, 3, 3, 'alex']
函数的传参

def my_len(x):  #形参:形式参数
    count = 0
    for i in x:
        count += 1
    return count
ret = my_len(l2)  # 实参:实际参数
print(ret)
len(s)

从实参的角度:
  按位置传参
  按关键字传参
  混合传参  关键字参数永远在位置参数后面
def my_len(x,y,z):  #形参:形式参数
    count = 0
    for i in x:
        count += 1
    return count
ret
= my_len(l2,s,'alex') # 按位置传参 print(ret) len(s) def func(x): if len(x) > 2: return True else:return False print(func('alex'))

 

posted @ 2018-01-31 15:01  虫洞小鳗鱼  阅读(179)  评论(0编辑  收藏  举报