-
在init 中 定義 self.__age 實例的私有對象 定義def get_info? set_info 來處理和修改數(shù)據(jù)
查看全部 -
在__init__()方法,需要調(diào)用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性
查看全部 -
class Class:
? ?def __init__(self, students):
? ? ? ?self.students = students
? ?def __len__(self):
? ? ? ?return len(self.students)
students = ['Alice', 'Bob', 'Candy']
class_ = Class(students)
len(class_) # ==> 3查看全部 -
私有屬性是以雙下劃線'__'開頭的屬性。
查看全部 -
def __init__(self,p1,p1,......)
init前后是兩個_,參數(shù)第一個必須是self
查看全部 -
init前后兩個下劃線,def后空一個
查看全部 -
class Fib(object):
? ?def __init__(self, num):
? ? ? ?self.res = []
? ? ? ?self.num = num
? ? ? ?a = 0
? ? ? ?b = 1
? ? ? ?for x in range(num):
? ? ? ? ? ?self.res.append(a)
? ? ? ? ? ?a, b = b, a + b
? ?def __str__(self):
? ? ? ?return str(self.res)
? ?def __len__(self):
? ? ? ?return self.num
f = Fib(10)
print(f)
print(len(f))查看全部 -
第二條筆記測試
查看全部 -
本課程的第一條筆記測試
查看全部 -
# Enter a code
class person(object):
? ? pass
class Student(object):
? ? pass
class Teacher(object):
? ? pass
class SkillMixin(obiect):
? ? pass
class myBasketballMixin(SkillMixin):
? ? def skill(self):
? ? ? ? return 'basketball'
class myFootballMixin(SkillMixin):
? ? def skill(self):
? ? ? ? return 'football'
class BStudent(BasketballMixin,Student):
? ? pass
class CTeacher(FootballMixin,Teacher):
? ? pass
s = BStudent()
print(s.skill())
t = CTeacher()
print(t.skill())
查看全部 -
__str__
class Person(object):
? ?def __init__(self, name, gender):
? ? ? ?self.name = name
? ? ? ?self.gender = gender
? ?def __str__(self):
? ? ? ?return 'name: {}, gender: {}'.format(self.name, self.gender)
bob = Person('Bob', 'Male')
str(bob) # ==> 'name: Bob, gender: Male'__repr__
class Person(object):
? ?def __init__(self, name, gender):
? ? ? ?self.name = name
? ? ? ?self.gender = gender
? ?def __str__(self):
? ? ? ?return 'name: {}, gender: {}'.format(self.name, self.gender)
? ?def __repr__(self):
? ? ? ?return 'name: {}, gender: {}'.format(self.name, self.gender)
bob = Person('Bob', 'Male')
str(bob) # ==> 'name: Bob, gender: Male'
?bob # ==>'name: Bob, gender: Male'Python 定義了__str()__和__repr__()兩種方法,__str()__用于顯示給用戶,而__repr__()用于顯示給開發(fā)人員,當使用str()時,實際調(diào)用的是__str__()方法,而直接輸入變量,調(diào)用的是__repr__()方法。
查看全部 -
class Person(object):
? ?def __init__(self, name, gender, **kw):
? ? ? ?self.name = name
? ? ? ?self.gender = gender
? ? ? ?for k, v in kw.items():
? ? ? ? ? ?setattr(self, k, v)
p = Person('Bob', 'Male', age=18, course='Python')
print(p.age)
print(p.course)
查看全部 -
isinstance()方法,可以判斷一個對象是否是某個類型。
type()函數(shù),可以獲得變量的類型。
dir()方法,可以獲取變量的所有屬性。
在dir列出的屬性中,有很多是以下劃線開頭和結(jié)尾的,這些都是特殊的方法,稱為內(nèi)建方法。
dir()返回的屬性是字符串列表。
獲取或者設(shè)置對象的屬性,就需要用 getattr() 和 setattr( )函數(shù)。
getattr(p, 'name') # 獲取name屬性>>>'Alice'
setattr(p, 'name', 'Adam') # 設(shè)置新的name屬性
getattr(s, 'age', 20) # 獲取age屬性,如果屬性不存在,就返回默認值20.
查看全部
舉報