• 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)

  • 相关阅读:
    说说内核与计算机硬件结构
    为什么51单片机的地址总线是16位的,但是它却是8位机?
    哈弗结构与冯诺依曼结构
    关于ARM的内核架构
    Bootloader之uBoot简介(转)
    mysql优化
    java上传并下载以及解压zip文件有时会报文件被损坏错误分析以及解决
    [Java]读取文件方法大全
    request相关研究
    session与cookie
  • 原文地址:https://www.cnblogs.com/yyym/p/16601366.html
Copyright © 2020-2023  润新知