栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python源码中的学习笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python源码中的学习笔记

函数的创建与调用
#
# 主题:函数的创建与调用
#

if __name__ == '__main__':
    # 创建函数
    # 求解 a + b
    def calc(a, b):
        c = a + b
        return c

    # 调用函数
    result = calc(10, 20)
    print(result)               # 30
函数的参数传递
  • 位置传参

  • 关键字传参

#
# 主题:函数的参数传递
#

if __name__ == '__main__':
    # 位置传参
    # 求解 a + b
    def calc(a, b):     # a,b 是形式参数,简称形参,形参的位置是在函数的定义处
        c = a + b
        return c

    result = calc(10, 20)   # 10,20 是实际参数的值,简称实参,实参的位置是在函数的调用处
    print(result) # 30

    # 关键字传参
    result1 = calc(b = 10, a = 20)  # = 左边的变量名称为关键字参数
    print(result1)  # 30

函数的参数传递对实参的影响
#
# 主题:函数的参数传递对实参的影响
#

def fun(arg1, arg2):
    print('arg1 =', arg1)
    print('arg2 =', arg2)
    arg1 = 100
    arg2.append(10)
    print('arg1 =', arg1)
    print('arg2 =', arg2)

if __name__ == '__main__':
    n1 = 11
    n2 = [22, 33, 44]
    print(n1)           # 11
    print(n2)           # [22, 33, 44]
    print('---')
    fun(n1, n2)         # arg1 = 11
                        # arg2 = [22, 33, 44]
                        # arg1 = 100
                        # arg2 = [22, 33, 44, 10]
    print('---')
    print(n1)           # 11 只是值传递
    print(n2)           # [22, 33, 44, 10] 相当于C语言中在指针层面上的数据操作
    '''在函数调用过程中,进行参数的传递
        若是不可变对象,则在函数体中的修改不会影响实参的值
        若是可变对象,则在函数体的修改会影响实参的值'''
函数的返回值
#
# 主题:函数的返回值
#

def fun(num):
    odd = []            # 存奇数
    even = []           # 存偶数
    for i in num:
        if i % 2 == 1:
            odd.append(i)
        else:
            even.append(i)
    return odd, even

if __name__ == '__main__':
    print(fun([10, 29, 34, 23, 44, 53, 55]))        # ([29, 23, 53, 55], [10, 34, 44])

    # 若返回值有多个结果,则返回值的类型是元组
函数定义中的形参 —— 默认值
#
# 主题:函数定义中的形参 —— 默认值
#

def fun(a, b = 10):
    print(a, b)

if __name__ == '__main__':
    fun(100)                # 100 10    b未传参,采取默认值
    fun(20, 30)             # 20 30     30替换10

    # print函数也有默认值参数。在代码中,按住Ctrl不放,鼠标点击print函数名进入函数定义处
    print('hello')
    print('python')         # hello
                            # python
                            # print在字符串的末尾默认加'n'

    print('hello', end = 't')
    print('world')          # hello	  world
函数定义中的形参 —— 个数可变的位置形参
#
# 主题:函数定义中的形参 —— 个数可变的位置形参
#

def fun(*args):
    print(args)

if __name__ == '__main__':
    # 定义函数时,可能无法事先确定传递的位置实参的个数时,使用个数可变的位置参数
    # 使用一个*定义个数可变的位置形参
    # 函数的返回值类型是元组
    fun(10)                 	# (10,)
    fun(10, 'hello', True)  	# (10, 'hello', True)
    
    ''' def fun2(*args, *a):
        	pass
        以上代码,程序会报错,可变的位置参数,只能是1个'''
函数定义中的形参 —— 个数可变的关键字形参
#
# 主题:函数定义中的形参 —— 个数可变的关键字形参
#

def fun(**args):
    print(args)

if __name__ == '__main__':
    # 定义参数时,可能无法事先确定传递的位置实参的个数,这时使用可变的关键字形参
    # 函数的返回值是字典
    fun(a = 10)
    fun(a = 10, b = 'hello', c = True)  # {'a': 10}
                                        # {'a': 10, 'b': 'hello', 'c': True}

在这里插入代码片
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号