-
在定义继承类的时候,有几点是需要注意的:
class Student()定义的时候,需要在括号内写明继承的类Person
在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性
查看全部 -
类方法需要使用@classmethod来标记为类方法,否则定义的还是实例方法
类方法的第一个参数将传入类本身,通常将参数名命名为 cls,上面的 cls.__localtion 实际上相当于Animal.__localtion。
查看全部 -
1、在类属性和实例属性同时存在的情况下,实例属性的优先级高于类的属性。
2、通过实例修改类的属性,无法改变类的属性
3、通过实例修改类的属性,只是给实例绑定了一个对应的实例属性,因此不要通过实例来修改类的属性。
查看全部 -
并不是所有的属性都可以被外部访问的,这种不能被外部访问的属性称为私有属性。私有属性是以双下划线'__'开头的属性。
查看全部 -
在类属性和实例属性同时存在的情况下,实例属性的优先级是要高于类属性的,在操作实例的时候,优先是操作实例的属性。
查看全部 -
在定义 Person 类时,可以为Person类添加一个特殊的__init__()方法,当创建实例时,__init__()方法被自动调用,我们就能在此为每个实例都统一加上以下属性:
class Person(object): def __init__(self, name, sex, age): self.name = name self.sex = sex self.age = age
需要注意的是,__init__() 方法的第一个参数必须是 self(也可以用别的名字,但建议使用习惯用法),后续参数则可以自由指定,和定义函数没有任何区别。
定义类后,就可以相应的实例化对象了,需要注意的是,在实例化的时候,需要提供除self以外的所有参数。
查看全部 -
pass是空语句,不做任何事情,一般用作占位语句
查看全部 -
pass是空语句,不做任何事情,一般用作占位语句
查看全部 -
面向对象编程
查看全部 -
isinstance可用来判断变量类型,并返回True/False isinstance(需要判断的变量,类型)查看全部
-
class Student(Person): def __init__(self, name, gender, score): super(Student, self).__init__(name, gender) self.score = score student = Student('Alice', 'girl', 100) print(student.name) # ==> Alice print(student.gender) # ==> girl print(student.score) # ==> 100 在定义继承类的时候,有几点是需要注意的: class Student()定义的时候,需要在括号内写明继承的类Person 在__init__()方法,需要调用super(Student, self).__init__(name, gender),来初始化从父类继承过来的属性查看全部
-
以双下划线‘__’开头的属性为私有属性,不能被外部访问,但可从类的内部访问查看全部
-
在类属性和实例属性同时存在的情况下(同名),实例属性的优先级更高查看全部
-
查看全部
-
实例对象绑定的属性只属于这个实例,绑定在一个实例上的属性不会影响其它实例;同样的,类也可以绑定属性,但是类的属性不属于任何一个对象,而是属于这个类。如果在类上绑定一个属性,则所有实例都可以访问类的属性,并且,所有实例访问的类属性都是同一个!也就是说,实例属性每个实例各自拥有,互相独立,而类属性有且只有一份。查看全部
举报