• Python09_01函数参数的传递


    参数传递:

    在Python中,类型属于对象,变量是没有类型的:如Str = ‘hello’;Str = 50,在以上代码中,hello是string类型的,50是整型,而变量Str是没有类型的,它仅仅是一个对象的引用(指针),可以指向各种类型对象。

    Python函数参数的传递:

    不可变类型:整数、字符串、元组。如fun(num),传递的只是num值,没有影响对象本身。如果在fun(num)内部修改num的值,只是修改了另个一复制的对象,不会影响num本身。

    可变类型:列表,字典。如fun(list),则是将lista真正的传过去,修改后fun外部的lista也会受影响。

     1 #函数参数传递
     2 # 2022.08.13周六PM16:50 天气热
     3 #不可变类型:整数、字符串、元组。如fun(num),传递的只是num的值,没有影响num对象本身。如果在fun(num)内部修改num的值,只是修改另一个复制的对象,不会影响num本身。
     4 #可变类型:列表,字典。如fun(lista),则是将lista真正的传过去,修改后fun外部的lista也会受影响,如下例:
     5 a = 10
     6 b = 'hello'
     7 c = (1,2,3)
     8 
     9 def add1(variable):
    10     variable = variable + 10
    11     print(variable)
    12 
    13 add1(a)                            #不可变类型
    14 print(a)
    15 
    16 def add2(variable):
    17     variable = variable + 'aaa'
    18     print(variable)
    19 add2(b)                           #不可变类型
    20 print(b)
    21 
    22 def add3(variable):
    23     variable = (1,2)                #variable.append(5)会报错,元组是没有append方法的
    24     print(variable)
    25 add3(c)                             #不可变类型
    26 print(c)
    27 
    28 
    29 #可变类型:列表,字典。如fun(lista),则是将lista真正的传过去,修改后fun外部的lista也会受影响,如下例:
    30 lista = [1,2,3,4]
    31 dicta = {'a':1,'b':2,'c':3}
    32 print(id(lista))                     #求变量的地址,可以用id()方法将其id打印出来查看
    33 def add4(listb):
    34     listb.append(5)
    35     print(id(listb))                 #地址没有变,说明值确实已经被修改了
    36     print(listb)
    37 add4(lista)
    38 print(lista)

  • 相关阅读:
    Java集合——Map接口
    Django 创建一个返回当前时间的页面
    python 练习 后台返回当前时间
    python 练习 simple_server 判断路径及返回函数
    通过 docker 来搭建 Jenkins
    Bitbucket 触发内网 Jenkins Build
    jQuery 扩展方法
    HTML 练习滑动
    HTML 练习淡入淡出
    HTML 练习显示隐藏
  • 原文地址:https://www.cnblogs.com/yyym/p/16601366.html
Copyright © 2020-2023  润新知