俄罗斯贵宾会-俄罗斯贵宾会官网
做最好的网站

python俄罗斯贵宾会 函数初识

*—*—python函数初识—*—*
一、函数的初识
若我们不使用len方法,该如何实现求字符串的长度?
答:使用for循环

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

执行输出:
7

list列表

lis = ['aa','bb',11,22,'abc','天才']
count = 0
for i in lis:
    count += 1
print(count)

执行输出:
6

今天我们来学习函数。
产生的原由,若没有函数,会显得重复代码多,可读性差,也会造成重复造轮子的情景。
故产生了函数,用来封装好一个功能,它是以功能为导向的。

 

1、【函数的样式】

例如自己定义一个函数:
def my_len():
def python中的关键字,用来声明和定义一个函数;
my_len 函数名,命名规范与变量命名的一样;
def与函数名中间要隔一个空格;
函数名+"()"+":",括号加冒号,括号里填的要你想要设置函数调用者传递的参数;
紧接着就是缩进的函数体(主要功能实现部分);

例,以下自定义的计算可迭代对象元素长度的函数:

my_len():
def my_len(l):
    count = 0
    for i in l:
        count += 1
    return count

li = [1, 2, 3, 4, 5]
print(my_len(li))

函数的执行,函数名+"()"就会去调用执行。
函数的返回值,定义函数时,不要在函数中写print语句(调试的时候可以这么做),因为函数是以功能为导向的,需要返回输出的值时使用return将值返回给函数的调用者就可以了。
在函数当中遇到return时就会结束执行函数(结合if语句用就会有像循环中break的感觉)。

函数返回的值有以下几种:
1)无return语句,返回None;
2)使用了return,返回None;
3)return指定返回一个值,该值是什么,就直接返回给函数调用者;
4)return返回多个值,将多个值放置到一个元组中,返回给函数调用者。

 

2、【三元运算】

例,在以下自定义一个用于比较两个整数大小的函数体中,就使用了三元运算:

# 普通的比较两数大小,谁的值大返回谁的函数:
def max_min(a, b):
    if a > b:
        return a
    else:
        return b

print(max_min(290,355))

# 使用了三元运算优化代码:
def max_min(a,b):
    return a if a > b else b

print(max_min(45, 56))
retrun a if a > b else b 的意思是判断如果a > b 就返回a,否则返回b。

以上写法有2点不好的地方:

3、【函数的传参】

分两大方面:实参和形参。
上例中的max_min(45,56)这里的45和56就属于实际传递过去的参数,所以就是实参;
而def中定义函数时出现的max_min(a,b)中的a,b就属于形式上的参数,用于对应参考的,就是形参。

实参角度:
1、位置传参,与形参的位置与个数一一对应,按顺序,个数不能少也不能多;
2、关键字传参,同样与形参一一对应,但可以不按顺序,因为有关键字,例如上例在实参中直接填写b=56,a=45这样。
3、混合传参,就是位置参数和关键字参数混合使用,但要注意的是所有的关键字参数都要放在最后面,也就是位置参数要在关键字参数之前。

形参角度:
1、位置传参,按顺序和个数与实参形成一一对应关系;
2、默认参数,重要!设置好默认参数后,如果实参中有传递参数过来,就按照实参的参数,如果没有,就直接按照默认的预设的值。省事又灵活。默认参数永远要在位置参数的后面。
3、动态参数,今天暂时不去了解。

end
2018-3-28

1.重复的代码多

2.代码的可读性差

 

写代码应当避免重复代码,以简化代码为荣。

对于这种情况,出现了函数这么个东东

函数是封装好的,拿来就可以使用,用来实现单一或相关联功能的代码段。

函数:函数就是内部封装了一个功能的代码片段。

 

def func():
    #def 函数名(): 定义一个函数
    #函数名的书写规则跟变量一样
    #def与函数名直接有一个空格
    #def 函数名():冒号用来将函数名与函数体隔开,不能少,括号用来传参
    #函数体是函数里面的逻辑代码
    print(666)
    print(999)

 

代码是由上往下依次执行的,执行到def func()时

将func这个函数名加载到临时内存中,不执行。

那么函数如何执行呢?

函数的执行方法:函数名()

#执行函数
func()

 当见到func(),只有见到()时,程序才会根据函数名从内存中找到函数体,然后执行它。没有括号是不会执行的。

 

 **二、函数的返回值 俄罗斯贵宾会,return**

    写函数,不要在函数内写print()

    函数是以功能为导向,一般只有在测试中才可以写print()

 return返回的值需要print才能打印显示出来

 

    1.在函数当中,遇到return立即结束函数 。

def func():
    print(666)
    return
    print(999)
func()

执行输出:

666

 

2.将返回值返回给函数调用者。

def func():
    s = '天才'
    return s
print(func())

执行输出:

本文由俄罗斯贵宾会发布于编程,转载请注明出处:python俄罗斯贵宾会 函数初识

您可能还会对下面的文章感兴趣: