笔记-类
1.类
import sys
class student:
def __init__(self,name,id,score,level):
self.name = name
self.id = id
self.score = score
self.level = level
def printout(self):
print(f"{self.name}'s student number is {self.id}, and his grade is {self.score}. He submitted {len(self.level)} assignments, each with a grade of {' '.join(self.level)}")
name = input()
id = input()
score = input()
level = list(input().split())
xx= student(name,id,score,level)
xx.printout()
self 代表的是调用这个方法的那个具体实例。
在方法内部,通过 self 可以访问这个实例的属性(变量)和其他方法。
你不需要在调用方法时传入 self,Python 会自动把调用该方法的对象传给它。
2.类属性和实例属性
同名时,实例属性 会遮蔽 类属性:
a.species = "Custom Species"
print(a.species) # 输出: Custom Species(只影响 a)
print(b.species) # 输出: New Species(类属性还在)
同一个类,每个实例的属性个数可以不一样,可以手动单独对每个类的实例增加一些属性
如何查看属性:
vars(instance) 查看实例属性
vars(Class) 或 Class.__dict__ 查看类属性
dir(obj) 查看全部(包括继承的)
3.实例化Employee类并进行属性判断
e = Employee(name, salary)
if hasattr(e, 'age'):
e.printclass()
else:
print("False")
setattr(e, 'age', age)
e.printclass()
4.hasatrr 使用example
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print("Woof!")
dog = Dog("Buddy")
print(hasattr(dog, "name")) # True
print(hasattr(dog, "age")) # False
print(hasattr(dog, "bark")) # True
print(hasattr(dog, "bark()")) # False(不能加括号)
4.python里在类里设置函数的时候,也可以调用同一个类或者不同类来作为参数
import sys
class student:
def __init__(self,name,id,score,level):
self.name = name
self.id = id
self.score = score
self.level = level
def printout(self):
print(f"{self.name}'s student number is {self.id}, and his grade is {self.score}. He submitted {len(self.level)} assignments, each with a grade of {' '.join(self.level)}")
name = input()
id = input()
score = input()
level = list(input().split())
xx= student(name,id,score,level)
xx.printout()
self 代表的是调用这个方法的那个具体实例。
在方法内部,通过 self 可以访问这个实例的属性(变量)和其他方法。
你不需要在调用方法时传入 self,Python 会自动把调用该方法的对象传给它。
2.类属性和实例属性
同名时,实例属性 会遮蔽 类属性:
a.species = "Custom Species"
print(a.species) # 输出: Custom Species(只影响 a)
print(b.species) # 输出: New Species(类属性还在)
同一个类,每个实例的属性个数可以不一样,可以手动单独对每个类的实例增加一些属性
如何查看属性:
vars(instance) 查看实例属性
vars(Class) 或 Class.__dict__ 查看类属性
dir(obj) 查看全部(包括继承的)
3.实例化Employee类并进行属性判断
e = Employee(name, salary)
if hasattr(e, 'age'):
e.printclass()
else:
print("False")
setattr(e, 'age', age)
e.printclass()
4.hasatrr 使用example
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print("Woof!")
dog = Dog("Buddy")
print(hasattr(dog, "name")) # True
print(hasattr(dog, "age")) # False
print(hasattr(dog, "bark")) # True
print(hasattr(dog, "bark()")) # False(不能加括号)
4.python里在类里设置函数的时候,也可以调用同一个类或者不同类来作为参数
全部评论
相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享