2019-03-20

1 迭代器和生成器

迭代器 獲取數(shù)據(jù):next (迭代器)趴腋、for 循環(huán)遍歷 彤断,數(shù)據(jù)來源:轉(zhuǎn)換玫坛、生成器

生成器:就是迭代器

三目運(yùn)算符: 值1

2 模塊

模塊就是py文件

包/ 庫 就是文件夾

3 異常處理

"""
try:
需要捕獲異常的代碼段
except:
出現(xiàn)異常后的異常處理
finally:
不管try里面的代碼是否異常,異常是否會(huì)被捕獲都會(huì)執(zhí)行的代碼
"""

"""--auhtor--==yanghao"""

什么是類

"""
類的定義:
類就是擁有相同功能和相同的屬性的對(duì)象的集合 --抽象的
對(duì)象就是類的實(shí)例 --具體的

生活角度看類和對(duì)象
如果人是類授嘀,具體某個(gè)人就是對(duì)象

"""

2. 類的聲明

"""
語法
class 類型:
類的內(nèi)容

說明:
class --聲明類的關(guān)鍵字
類名 --標(biāo)識(shí)符憨琳,不能是關(guān)鍵字
見名知義诫钓,采用駝峰是命名(采用通過單詞首字母大寫的方式來區(qū)分不同的單詞),首字母大寫
: -- 固定寫法
類的內(nèi)容 --主要包含:類的說明文檔篙螟,屬性菌湃,功能

"""

3 對(duì)象的聲明

"""
對(duì)象 = 類() --創(chuàng)建指定的類的對(duì)應(yīng)的對(duì)象
"""

4 類中的方法

"""
1什么是方法:聲明在類中的函數(shù)就叫方法
2類中的方法有三種:對(duì)象方法、類方法遍略、靜態(tài)方法
a 對(duì)象方法:直接聲明在類中的函數(shù)
有默認(rèn)參數(shù)self,通過對(duì)象調(diào)用的時(shí)候這個(gè)參數(shù)不用傳參惧所,因?yàn)橄到y(tǒng)會(huì)自動(dòng)傳參給self
(self,當(dāng)前對(duì)象--誰調(diào)用self就指向誰绪杏,當(dāng)前類的對(duì)象能做的事情下愈,self都能做)
通過類的對(duì)象來調(diào)用.對(duì)象。對(duì)象方法()

b 類方法: 聲明函數(shù)前加@classmethod
有默認(rèn)參數(shù)cls蕾久,通過類調(diào)用的時(shí)候這個(gè)參數(shù)不用傳參势似,因?yàn)橄到y(tǒng)會(huì)自動(dòng)將當(dāng)前類傳遞給cls
(cls,當(dāng)前類-誰調(diào)用就指向誰僧著,當(dāng)前類能做的事情cls都能做)
通過類來調(diào)用: 類履因。類方法()

c 靜態(tài)方法:聲明函數(shù)前加@staticmethod
沒有默認(rèn)參數(shù)
通過類來調(diào)用:類。靜態(tài)方法()

"""
class Person:
"""
人類
"""
def eat(self,food):
print('人吃'+food)
self.study()

def study(self):
    print('學(xué)習(xí)')

# ========類方法========================
@classmethod
def destroy(cls):
    tp = cls()
    print('tp',tp)
    print('人類破壞環(huán)境')
@staticmethod
def beat_animal():
    print('人類毆打小動(dòng)物')

p1 = Person()
print(p1,id(p1))
p2 = Person()

p1.eat('noodle')
p2.eat('spot')

類調(diào)用方法

Person.destroy()

調(diào)用靜態(tài)方法

Person.beat_animal()

"""--auhtor--==yanghao"""

什么是init 方法

init 是類中默認(rèn)的繼承的一個(gè)魔法方法盹愚,用來初始化類:本質(zhì)是對(duì)象方法栅迄,但是不需要通過對(duì)象直接來調(diào)用

通過類創(chuàng)建對(duì)象的時(shí)候,系統(tǒng)會(huì)自動(dòng)調(diào)用類中的init方法

聲明類的時(shí)候系統(tǒng)會(huì)自動(dòng)給我們創(chuàng)建一個(gè)函數(shù)杯拐,這個(gè)函數(shù)的函數(shù)名和聲明的類的類名一樣

函數(shù)中會(huì)先在內(nèi)存中開辟空間創(chuàng)建對(duì)象霞篡,然后用創(chuàng)建的對(duì)象去調(diào)用類的init方法世蔗,最后才將對(duì)象返回

創(chuàng)建對(duì)象的時(shí)候需不需要參數(shù),需要幾個(gè)參數(shù)朗兵,看這個(gè)類的int方法

class Person():
def init(self,name):
print(self,name)
print('init方法')

print('============')
p1 = Person('yh')
print(p1) #
print('---------------')

"""--auhtor--==yanghao"""

屬性

類中的屬性分為:對(duì)象屬性和字段

"""
1 字段 - 直接聲明在類中的變量就是字段,字段要通過'’類污淋。字典’的方式來使用;
當(dāng)類中屬性的值不會(huì)應(yīng)為對(duì)象不同而不同余掖,這種屬性就可以聲明稱類的字段

2 對(duì)象屬性: 在init方法總寸爆,以 self。屬性= 值 得形式聲明盐欺;
對(duì)象屬性通過‘對(duì)象赁豆。屬性’的方式來使用
當(dāng)屬性的值會(huì)因?yàn)閷?duì)象的不同而不同的時(shí)候,使用對(duì)象屬性

"""
class Dog:
"""狗"""
# ====字段====
number = 10
#================對(duì)象屬性==========
def init(self,name='x',color='黃色',gender='公',age='1'):
self.name = name
self.color = color
self.gender = gender
self.age = age

使用類的字段

Dog.number = 100
print(Dog.number)

使用對(duì)象屬性

dog1 =Dog()
print(dog1.gender)
print(dog1.color)
print(dog1.age)

dog2 =Dog('財(cái)財(cái)',color ='灰色')
print(dog2.name)
print(dog2.gender)
print(dog2.color)
print(dog2.age)

練習(xí):聲明一個(gè)學(xué)生類冗美,擁有屬性:名字魔种、電話、年齡粉洼、學(xué)號(hào) 擁有功能:學(xué)習(xí)(打印xxx在學(xué)xxx)节预、

class Student:
def init(self,name,tel,age,num):
self.name = name
self.tel = tel
self.age =age
self.num = num

def study(self,subject):
    print(self.name + '學(xué)習(xí)'+subject)

stu1 = Student('楊浩',123,15,123)
stu1.study('python')
stu2 = Student('楊1浩',123,15,123)
stu2.study('h5')

寫一個(gè)舉行類,有屬性:長(zhǎng)和寬 方法:求面積属韧、求周長(zhǎng)

class Rectangle:
def init(self,length,width):
self.length =length
self.width = width

def area(self):
    return self.length*self.width
def perimeter(self):
    return (self.length+self.width)*2

r1 = Rectangle(10,20)
print(r1.area())

聲明類的時(shí)候方法的選擇

"""
1 對(duì)象方法:實(shí)現(xiàn)函數(shù)的功能需要對(duì)象屬性的時(shí)候安拟,就使用對(duì)象方法
2 類方法:實(shí)現(xiàn)函數(shù)的功能不需要對(duì)象屬性,但是需要類的字段就使用類的方法
3 靜態(tài)方法:實(shí)現(xiàn)函數(shù)的功能既不需要對(duì)象屬性也不需要類相關(guān)的操作宵喂,就使用靜態(tài)的方法

"""
"""--auhtor--==yanghao"""

python中的對(duì)象屬性糠赦,支持增、刪锅棕、改拙泽、查

class Dog:
def init(self,name):
self.name = name
self.age = 0

dog1 = Dog('大黃')
dog2 = Dog('小黃')
"""
a.對(duì)象。屬性 -- 獲取指定屬性對(duì)應(yīng)的值裸燎,如果屬性不存在會(huì)報(bào)錯(cuò)
b getattr(對(duì)象奔滑,屬性名,默認(rèn)值) --獲取指定屬性對(duì)應(yīng)的值顺少,
當(dāng)屬性不存在的時(shí)候朋其,有默認(rèn)值的時(shí)候返回默認(rèn)值,沒有默認(rèn)值會(huì)報(bào)錯(cuò)

"""
print(dog1.name)
print(dog2.name)
print(getattr(dog1,'name2','無名狗'))

2 增脆炎、改

"""
a . 對(duì)象.屬性 =值 --當(dāng)屬性不存在的時(shí)候是添加屬性梅猿,當(dāng)屬性存在的時(shí)候是修改屬性的值
b setattr(對(duì)象,屬性名秒裕,值) --當(dāng)屬性不存在就添加屬性袱蚓,當(dāng)屬性存在就修改屬性的值

"""

dog1.gender = 10
print(dog1.gender)
dog1.name = '貝貝'
print(dog1.name)
a_name= 'color'
setattr(dog1,a_name,'白色')
print(dog1.color)
setattr(dog1,'name','小貝')
print(dog1.name)

3 刪

"""

a del 對(duì)象.屬性
b delattr(對(duì)象.屬性名)
"""

del dog1.name

print(dog1.name

delattr(dog1,'age')
print(dog1.name)

注意:對(duì)象屬性的增刪改查只針對(duì)單個(gè)對(duì)象

print()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市几蜻,隨后出現(xiàn)的幾起案子喇潘,更是在濱河造成了極大的恐慌体斩,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颖低,死亡現(xiàn)場(chǎng)離奇詭異絮吵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)忱屑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蹬敲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人莺戒,你說我怎么就攤上這事伴嗡。” “怎么了从铲?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵瘪校,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我名段,道長(zhǎng)渣淤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任吉嫩,我火速辦了婚禮,結(jié)果婚禮上嗅定,老公的妹妹穿的比我還像新娘自娩。我一直安慰自己,他們只是感情好渠退,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布忙迁。 她就那樣靜靜地躺著,像睡著了一般碎乃。 火紅的嫁衣襯著肌膚如雪姊扔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天梅誓,我揣著相機(jī)與錄音恰梢,去河邊找鬼。 笑死梗掰,一個(gè)胖子當(dāng)著我的面吹牛嵌言,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播及穗,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼摧茴,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了埂陆?” 一聲冷哼從身側(cè)響起苛白,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤娃豹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后购裙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體懂版,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年缓窜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了定续。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡禾锤,死狀恐怖私股,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情恩掷,我是刑警寧澤倡鲸,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站黄娘,受9級(jí)特大地震影響峭状,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逼争,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一优床、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧誓焦,春花似錦胆敞、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至赫粥,卻和暖如春观话,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背越平。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來泰國打工频蛔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秦叛。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓帽驯,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親书闸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子尼变,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容