Python 类,对象,数据分类,函数参数传递详解
Python 类、对象、数据分类、函数参数传递详解
Python 类和对象
在 Python 中,我们可以使用类来定义一个对象,从而方便我们对代码进行组织,代码的重复利用等。定义一个 Python 类,可以使用 class
关键字,例如:
这里我们定义了一个 Person
类,该类拥有两个属性:name
和 age
,并且还拥有一个名为 say_hello
的方法,用于输出一个问候语。类中的 __init__
方法为构造方法,用于初始化该类的实例。self
参数代表该类的实例。
定义一个对象,可以在类的基础上进行实例化,例如:
这里我们实例化了一个 Person
对象,并且调用了该类的 say_hello
方法。执行后输出的结果为:
Python 数据分类
在 Python 中,可以将数据分类为可变数据和不可变数据。
可变数据
可变数据指的是可以修改的数据,包括列表、字典等。例如:
这里我们使用了 append
方法向列表中添加了一个元素。
不可变数据
不可变数据指的是不能直接修改的数据,包括字符串、元组等。例如:
示例说明
我们定义了一个 Person
类,这个类的属性和方法是不可变的,但是实例的属性却是可变的。我们来看一个例子:
在这个例子中,我们定义了一个 Person
类,该类只有一个不可变属性名为 name
。然后我们实例化了一个 Person
对象,并且修改了该实例对象的名字属性。所以,即使类的属性和方法是不可变的,但是实例的属性是可变的。
Python 函数参数传递
在 Python 中,函数参数传递有两种方式:传值和传引用。
传值
传值指的是将变量值拷贝一份作为参数传递给函数,而不是传递该变量的地址。例如:
在这个例子中,我们定义了一个 test
函数,该函数接受一个数字参数并且将该参数加一。然后我们定义了一个变量 n
,并且将其初始化为 1。接着调用 test
函数,该函数会将传入的参数加一。但是在函数外面,变量 n
的值不会改变。
传引用
传引用指的是将变量的地址作为参数传递给函数,变量本身并没有进行拷贝。例如:
在这个例子中,我们定义了一个 test
函数,该函数接受一个列表参数,并且向该列表中添加一个元素 4。然后我们定义了一个列表 lst
,并且将其初始化为 [1, 2, 3]
。再调用 test
函数,该函数会直接修改传入的列表参数 lst
。函数执行完毕后,原本的列表 lst
中便添加了元素 4。
示例说明
我们来看一个例子,探索传值和传引用的区别:
在这个例子中,我们定义了两个函数,test1
和 test2
,分别用传值 和 传引用 两种方式对变量进行修改。然后我们定义了两个变量 n
和 lst
,分别传入两个函数进行测试。通过这个例子,我们可以看出传值和传引用的区别,也就是说,当需要修改原始变量的值时,应选择传引用方式进行参数传递。
结语
通过本文的介绍,我们了解了 Python 中类和对象的定义及使用,Python 中的数据分类,以及函数参数传递方式(传值和传引用)。希望本文对大家学习 Python 有所帮助。