Python练习实例87 | 关于结构体变量传递的问题

关于结构体变量传递的这个问题,这个题目也是作者第一次遇见这个问题,大概的意思就是:当类中的变量和函数当中的参数调用的参数变量相互重复的时候,原则上是函数参数当中的变量优先级要更高一些。

Python练习实例87 | 关于结构体变量传递的问题_第1张图片
变量传递.jpg

可能听起来有点懵懂,我们来看下具体的例子应该就会明白了。

# 结构体变量传递

if __name__ == '__main__': # 程序入口
    class student: # 定义一个student的类
        x = 0 # 将0赋值给x
        c = 0 # 将0赋值给c
    def f(stu): # 定义一个函数f,并对函数f,传递一个stu的参数
        stu.x = 20 # 将20赋值给stu的x变量
        stu.c = 'c' # 将字符串c赋值给stu的c变量
    a = student() # 将student的类方法(函数)赋值给a
    a.x = 3 # 将3赋值给a中的x方法
    a.c = 'a' # 将a赋值给a中的c方法
    f(a) # 将a这个变量作为参数,传递给f函数,调用的是f这个函数的方法
    print(a.x,a.c) # 打印出变量a的x方法,和c方法

打印出来的结果如下所示:

C:\Python\python.exe "C:/Users/Administrator/Desktop/Python 练习实例100题/练习87.py"
20 c

Process finished with exit code 0

北京市通州区京贸中心
2020年6月27日

你可能感兴趣的:(Python练习实例87 | 关于结构体变量传递的问题)