zoukankan      html  css  js  c++  java
  • python函数 一

    函数

    一。函数的初识

    比如:我们测量一个字符串‘asdfghj’的长度,但是不让用len()的方法

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

    要是测量其他的字符串的长度就要再次编写这些相似的代码,重复性强,可读性差,此时我们可以引入函数概念。

    二。函数的定义与调用

    def my_len():     # def 关键字,定义函数   空格   函数名(变量)
        s = 'asdfghj'
        count = 0
        for i in s:
            count += 1
        print(count)
    my_len()          #执行此函数

    三。函数的返回值(return)

    return

    1.遇到return,此函数结束,不再继续运行(类似于循环中的break)

    2.return有四种情况

    1)不写return               返回  None

    def my_len():
        s = 'asdfghj'
        count = 0
        for i in s:
            count += 1
    ret = my_len()
    print(ret)                  #输出结果 None

    2)return None            返回  None

    def my_len():
        s = 'asdfghj'
        count = 0
        for i in s:
            count += 1
        return None
    ret = my_len()
    print(ret)                  #输出结果None

    3)return 一个值          返回  此单个值

    def my_len():
        s = 'asdfghj'
        count = 0
        for i in s:
            count += 1
        return count
    ret = my_len()
    print(ret)            #输出结果:7

    4)return 多个值          返回  将多个值包在元组内,返回给调用者此元组

    def my_len():
        '''返回多个值'''
        return count,1,3,'alex',8
    ret = my_len()
    print(ret)            #输出结果:(7, 1, 3, 'alex', 8)
    # 用多个值接收
    def my_len():
        return  1,['a','b'],3,4
    
    ret1,ret2,ret3,ret4 = my_len()
    print(ret1,ret2,ret3,ret4)
    # 输出结果:1 ['a', 'b'] 3 4

    四。参数

    实参与形参

    参数还有分别:

    我们调用函数时传递的这个“hello world”被称为实际参数,因为这个是实际的要交给函数的内容,简称实参。

    定义函数时的s1,只是一个变量的名字,被称为形式参数,因为在定义函数的时候它只是一个形式,表示这里有一个参数,简称形参。 

    传递多个参数

    参数可以传递多个,多个参数之间用逗号分割。

    1.实参

    从实参的角度:
    1)按位置传参

    def my_line(x,y):
        '此时x = 5 , y = 10 '
        max =  x if x > y else y
        return max
    #调用
    ma = my_line(5,10)
    print(ma)              #输出结果:10

    2)按关键字传参

    def my_len(x,y):
        #x = 5 ,y = 20
        max = x if x > y else y
        return max
    #调用
    ma = my_len(y=20,x=5)
    print(ma)              #输出结果:20

    3)混合传参         关键字参数永远在位置参数后面

    def my_len(x,y):
        #x = 5,y = 15
        max = x if x > y else y
        return max
    #调用
    ma = my_len(5,y=15)
    print(ma)             #输出结果:20

    2.形参

    1)位置参数

    def mymax(x,y):
        #此时x=10,y=20
        the_max = x if x > y else y
        return the_max
    
    ma = mymax(10,20)
    print(ma)             #输出结果:20

    2)默认参数

    def fa(name,sex=''):
        with open('name_list','a',encoding='utf-8') as f:
            f.write('{},{}
    '.format(name,sex))
    while 1:
        name = input('请输入姓名:')
        if '' in name:
            sex = input('请输入性别:')
            fa(name,sex)
        else:
            fa(name)
  • 相关阅读:
    Bzoj 1537: [POI2005]Aut- The Bus 题解 [由暴力到正解]
    Bzoj 3126[Usaco2013 Open]Photo 题解
    Bzoj 3165 [Heoi2013]Segment题解
    Bzoj 2733: [HNOI2012]永无乡 数组Splay+启发式合并
    赛前集训前的总结(警醒)
    bzoj3316 JC loves Mkk题解
    9.22考试 crf的军训 题解
    Luogu3521 [POI2011]ROT-Tree Rotations
    CTSC2012 熟悉的文章
    UVA11468 Substring
  • 原文地址:https://www.cnblogs.com/zhuzhaoyang/p/8394790.html
Copyright © 2011-2022 走看看