Python2筆記(九) 繼承

2021-10-05 03:47:24 字數 2965 閱讀 5990

# -*- coding: utf-8 -*-

class

person

(object):

def__init__

(self, name, age)

: self.name = name

self.age = age

class

student

(person)

:def

__init__

(self, name, age, score)

:super

(student, self)

.__init__(name, age)

self.score = score

stu1 = student(

'stu1',20

,90)print stu1.score

結果:

一定要用 super(student, self).init(name, gender) 去初始化父類,否則,繼承自personstudent將沒有namegender

函式**super(student, self)將返回當前類繼承的父類,即person,然後呼叫init()**方法,注意self引數已在super()中傳入,在__init__()中將隱式傳遞,不需要寫出(也不能寫)。

# -*- coding: utf-8 -*-

class

person

(object):

def__init__

(self, name, age)

: self.name = name

self.age = age

class

student

(person)

:def

__init__

(self, name, age, score)

:super

(student, self)

.__init__(name, age)

self.score = score

class

fruit

(object):

pass

stu1 = student(

'stu1',20

,90)print stu1.score

print

isinstance

(stu1, person)

print

isinstance

(stu1, student)

print

isinstance

(stu1, fruit)

結果:

90true

true

false

# -*- coding: utf-8 -*-

class

person

(object):

def__init__

(self, name, age)

: self.name = name

self.age = age

class

student

(person)

:def

__init__

(self, name, age, score)

:super

(student, self)

.__init__(name, age)

self.score = score

defwhoami

(self)

:return

'i am a student, my name is %s'

% self.name

class

teacher

(person)

:def

__init__

(self, name, age)

:super

(teacher, self)

.__init__(name, age)

defwhoami

(self)

:return

'i am a teacher, my name is %s'

% self.name

s1 = student(

's1',20

,90)t1 = teacher(

't1',35

)print s1.whoami(

)print t1.whoami(

)

結果:

i am a student, my name is s1

i am a teacher, my name is t1

# -*- coding: utf-8 -*-

classa(

object):

pass

class

b(a)

:pass

class

c(a)

:pass

class

d(b, c)

:pass

type()函式獲取變數的型別;

dir()函式獲取變數的所有屬性;

**dir()**返回的屬性是字串列表,如果已知乙個屬性名稱,要獲取或者設定物件的屬性,就需要用getattr()和 **setattr( )**函式了;

getattr(s, 『name』) # 獲取name屬性

setattr(s, 『name』, 『user2』) # 設定新的name屬性

Python2筆記(二) 變數和資料型別

整數 浮點數字串 或 轉義 如果乙個字串包含很多需要轉義的字元,對每乙個字元都進行轉義會很麻煩。為了避免這種情況,我們可以在字串前面加個字首 r 表示這是乙個 raw 字串,裡面的字元就不需要轉義了。但是r 表示法不能表示多行字串,也不能表示包含 和 的字串 如果要表示多行字串,可以用 print ...

Python2學習筆記(2)

python 中可以直接處理的資料型別包括整數 浮點數 字串 布林值 空值。此外,python還提供了list 字典等資料型別。同時也允許自定義資料型別。30 3 10 10 3 3 10.0 3 3.3333333333333335 10 3.0 3.3333333333333335 print ...

寒假訓練 2筆記

方法一 for i 1 i n為被分解的的數 emmm超時了,明天在更進。1.輸入多個字串時 while gets s 這樣既可 while gets s eof 會報錯!2.回文質數 洛谷和vjudge都做過 ps 乙個數既是回文數又是素數 原先的想法 寫兩個函式,乙個判斷素數,乙個判斷回文,超時...