国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)頁(yè)設(shè)計(jì) 效果圖亞馬遜seo推廣

網(wǎng)頁(yè)設(shè)計(jì) 效果圖,亞馬遜seo推廣,ui設(shè)計(jì)作品解析,慈溪怎么做網(wǎng)站一、 if __name__ __main__ if __name__ __main__的意思是: 當(dāng).py文件被直接運(yùn)行時(shí),if __name__ __main__之下的代碼塊將被運(yùn)行; 當(dāng).py文件以模塊形式被導(dǎo)入時(shí),if __name__ __main__之下的代碼塊不被運(yùn)行。 1.1、一個(gè) xxx.p…

一、? if __name__ == '__main__'

if __name__ == '__main__'的意思是:

當(dāng).py文件被直接運(yùn)行時(shí),if __name__ == '__main__'之下的代碼塊將被運(yùn)行;

當(dāng).py文件以模塊形式被導(dǎo)入時(shí),if __name__ == '__main__'之下的代碼塊不被運(yùn)行。

1.1、一個(gè)? xxx.py 文件被其他 xxx.py 文件引用

創(chuàng)建一個(gè)const.py文件:

PI = 3.14def main():print("PI:", PI)
main()
# 運(yùn)行結(jié)果:PI: 3.14

寫一個(gè)用于計(jì)算圓面積的area.py文件,area.py文件需要用到const.py文件中的PI變量。從const.py中,我們把PI變量導(dǎo)入area.py:

from const import PIdef calc_round_area(radius):return PI * (radius ** 2)def main():print("round area: ", calc_round_area(2))main()'''
運(yùn)行結(jié)果:
PI: 3.14
round area:  12.56
'''

1.2 修改const.py,添加if __name__ == '__main__'

? ? ? 我們看到const.py中的main函數(shù)也被運(yùn)行了,實(shí)際上我們不希望它被運(yùn)行,因?yàn)閏onst.py提供的main函數(shù)只是為了測(cè)試常量定義。這時(shí)if __name__ ==? '__main__'派上了用場(chǎng),我們把const.py改一下,添加if __name__ == '__main__'

PI = 3.14def main():print("PI:", PI)if __name__ == "__main__":main()運(yùn)行結(jié)果
PI: 3.14

導(dǎo)入const.py,運(yùn)行area.py:

輸出結(jié)果:
round area:  12.56#不顯示:PI: 3.14

二、__init__與self

2.1?Python中self的含義

? ? ? self,英文單詞意思很明顯,表示自己,本身。python的self,是個(gè)對(duì)象(Object),是當(dāng)前類的實(shí)例

2.2 Python中為何要有self

? ? ?在定義一個(gè)類時(shí),首先需要定義一個(gè)構(gòu)造函數(shù)。構(gòu)造函數(shù)是用來(lái)初始化對(duì)象的屬性的。在Python中,構(gòu)造函數(shù)的第一個(gè)參數(shù)通常是self。self代表當(dāng)前的對(duì)象實(shí)例,可以用來(lái)引用該對(duì)象的屬性和方法。

? ? ?在Python中,如果要使用一個(gè)對(duì)象的屬性或方法,首先需要實(shí)例化對(duì)象。實(shí)例化對(duì)象是指創(chuàng)建一個(gè)對(duì)象的實(shí)例,也就是根據(jù)類創(chuàng)建一個(gè)具體的對(duì)象。在實(shí)例化對(duì)象時(shí),通常需要傳入一些參數(shù)來(lái)初始化對(duì)象的屬性。

Python中就規(guī)定好了,函數(shù)的第一個(gè)參數(shù),就必須是實(shí)例對(duì)象本身,并且建議,約定俗成,把其名字寫為self

2.3_init__方法的作用:

? ? ? __init__ 方法是 Python 中面向?qū)ο缶幊讨蓄惖奶厥夥椒?#xff0c;也稱為構(gòu)造方法,當(dāng)創(chuàng)建一個(gè)類的實(shí)例時(shí),__init__ 方法會(huì)自動(dòng)調(diào)用。

? ? ? ?它的主要作用是初始化實(shí)例的屬性,實(shí)例變量是對(duì)象的屬性,用于存儲(chǔ)數(shù)據(jù)。在實(shí)例被創(chuàng)建后,你可以通過(guò)這些屬性對(duì)實(shí)例進(jìn)行操作。每個(gè)類可以定義多個(gè)不同的 __init__ 方法,但通常情況下,在類中只有一個(gè),在這種情況下,在創(chuàng)建類的實(shí)例時(shí),必須提供所需的參數(shù)。

def __init__(self, 參數(shù)1, 參數(shù)2, ...):初始化語(yǔ)句1初始化語(yǔ)句2...

實(shí)例:在類中使用 init 方法初始化類的屬性

class Dog:def __init__(self, breed, name, age):self.breed = breedself.name = nameself.age = agedog = Dog("Labrador", "Max", 3)print(dog.breed) # Output: Labrador
print(dog.name) # Output: Max
print(dog.age) # Output: 3

在這個(gè)例子中,我們創(chuàng)建了一個(gè)名為 Dog 的類,并且定義了 init 方法。 init 方法接收三個(gè)參數(shù):breed, name 和 age,并且通過(guò) self. 前綴來(lái)設(shè)置類的屬性。最后,我們創(chuàng)建了一個(gè)名為 dog 的對(duì)象,并且初始化了它的 breed, name 和 age 屬性。

2.4__init__()和self對(duì)象

class Person(object):def __init__(self, name, lang, website):self.name = nameself.lang = langself.website = websiteprint('self: ', self)print('type of self: ', type(self))
'''
未實(shí)例化時(shí),運(yùn)行程序,構(gòu)造方法沒有運(yùn)行
'''p = Person('Tim', 'English', 'www.universal.com')   '''實(shí)例化后運(yùn)行的結(jié)果
self:  <__main__.Person object at 0x00000000021EAF98>
type of self:  <class '__main__.Person'>
'''

可以看出self為實(shí)例變量p,是一個(gè)Person類型的對(duì)象

class Dog(object):       def __init__(self,name,dog_type):self.name = nameself.type = dog_typedef sayhi(self):print("hello,I am a dog, my name is ",self.name)d = Dog('LiChuang',"京巴")            # 實(shí)例化
d.sayhi()

以下是d = Dog('LiChuang',"京巴")實(shí)例化的示意圖:

?2.5 如果沒有在__init__中初始化對(duì)應(yīng)的實(shí)例變量的話,導(dǎo)致后續(xù)引用實(shí)例變量會(huì)出錯(cuò)

? ? ? 如下代碼,完整的演示了,如果沒有在類Class的最初的__init__函數(shù)中,正確的初始化實(shí)例變量,則會(huì)導(dǎo)致后續(xù)沒有變量可用,因而出現(xiàn)AttributeError的錯(cuò)誤:

name = 'whole global name'
'''
注:此處全局的變量名,寫成name,只是為了演示而用
實(shí)際上,好的編程風(fēng)格,應(yīng)該寫成gName之類的名字,
以表示該變量是Global的變量
'''class Person(object):def __init__(self, newPersonName):# self.name = newPersonName'''如果此處不寫成self.name那么此處的name,只是__init__函數(shù)中的局部臨時(shí)變量name而已和全局中的name,沒有半毛錢關(guān)系'''name = newPersonName'''此處只是為了代碼演示,而使用了局部變量name,不過(guò)需要注意的是,此處很明顯,由于接下來(lái)的代碼也沒有利用到此處的局部變量name則就導(dǎo)致了,此處的name變量,實(shí)際上被浪費(fèi)了,根本沒有利用到'''def sayYourName(self):'''此處由于找不到實(shí)例中的name變量,所以會(huì)報(bào)錯(cuò):AttributeError: Person instance has no attribute 'name''''print('My name is %s' %self.name)def selfAndInitDemo():personInstance = Person('Tim')personInstance.sayYourName()if __name__ == '__main__':selfAndInitDemo()'''  未使用self.name時(shí)拋異常
Traceback (most recent call last):File "E:/python14_workspace/s14/day06/test_1.py", line 18, in <module>selfAndInitDemo()File "E:/python14_workspace/s14/day06/test_1.py", line 15, in selfAndInitDemopersonInstance.sayYourName()File "E:/python14_workspace/s14/day06/test_1.py", line 11, in sayYourNameprint('My name is %s' %self.name)
AttributeError: 'Person' object has no attribute 'name'
'''

從上述代碼可見,由于在類的初始化(實(shí)例化)的__init__函數(shù)中,沒有給self.name設(shè)置值,使得實(shí)例中,根本沒有name這個(gè)變量,導(dǎo)致后續(xù)再去訪問(wèn)self.name,就會(huì)出現(xiàn)AttributeError的錯(cuò)誤了。

對(duì)應(yīng)的,如果寫成self.name,則意思就正確了,就是初始化的時(shí)候,給實(shí)例中新增加,并且正常設(shè)置了正確的值newPersionName了,所以后續(xù)再去通過(guò)self.name,就可以訪問(wèn)到,當(dāng)前實(shí)例中正確的變量name了。

相應(yīng)的正確寫法的代碼如下:

name = 'whole global name'
'''
注:此處全局的變量名,寫成name,只是為了演示而用
實(shí)際上,好的編程風(fēng)格,應(yīng)該寫成gName之類的名字,
以表示該變量是Global的變量
'''class Person(object):def __init__(self, newPersonName):self.name = newPersonName'''此處正確的,通過(guò)訪問(wèn)self.name的形式,實(shí)現(xiàn)了:1.給實(shí)例中,增加了name變量2.并且給name賦了初值,為newPersionName'''def sayYourName(self):'''此處由于開始正確的初始化了self對(duì)象,使得其中有了name變量,所以此處可以正確訪問(wèn)了name值了'''print('My name is %s' %self.name)def selfAndInitDemo():personInstance = Person('Tim')personInstance.sayYourName()if __name__ == '__main__':selfAndInitDemo()'''My name is Tim'''
http://www.aloenet.com.cn/news/32024.html

相關(guān)文章:

  • c語(yǔ)言做網(wǎng)站后臺(tái)服務(wù)百度關(guān)鍵詞排名銷售
  • 學(xué)習(xí)網(wǎng)站開發(fā)寧德市房?jī)r(jià)
  • 域名備案成功怎么做網(wǎng)站免費(fèi)的網(wǎng)絡(luò)推廣渠道
  • 無(wú)錫做網(wǎng)站優(yōu)化價(jià)格301313龍虎榜
  • 做網(wǎng)站組織架構(gòu)西安高端模板建站
  • 做網(wǎng)站端口無(wú)法清除十大經(jīng)典事件營(yíng)銷案例分析
  • 頂尖網(wǎng)站設(shè)計(jì)東莞百度快照優(yōu)化排名
  • 小魚賺錢網(wǎng)站能重復(fù)做任務(wù)嗎電商網(wǎng)站對(duì)比表格
  • 大良營(yíng)銷網(wǎng)站建設(shè)價(jià)位在線看crm系統(tǒng)
  • 房山成都網(wǎng)站建設(shè)肇慶seo按天收費(fèi)
  • 西安國(guó)內(nèi)做網(wǎng)站的公司有哪些排行榜前十名
  • html5flash設(shè)計(jì)開發(fā)|交互設(shè)計(jì)|網(wǎng)站建設(shè) 青島樂天seo培訓(xùn)中心
  • 網(wǎng)絡(luò)營(yíng)銷策略內(nèi)容廈門seo俱樂部
  • 做網(wǎng)站需要什么技術(shù)搜索關(guān)鍵詞站長(zhǎng)工具
  • 高端網(wǎng)站哪個(gè)比較好線上產(chǎn)品推廣方案
  • 針對(duì)人群不同 網(wǎng)站做細(xì)分全球疫情最新數(shù)據(jù)
  • 免費(fèi)空間申請(qǐng)網(wǎng)站網(wǎng)絡(luò)營(yíng)銷在哪里學(xué)比較靠譜
  • 網(wǎng)站備案流程圖上海自動(dòng)seo
  • 2015年做哪個(gè)網(wǎng)站能致富建網(wǎng)站用什么工具
  • 旅游搜索網(wǎng)站開發(fā)百度網(wǎng)站推廣怎么做
  • 鎮(zhèn)江做網(wǎng)站哪家公司好靠網(wǎng)絡(luò)營(yíng)銷火起來(lái)的企業(yè)
  • 方城網(wǎng)站制作網(wǎng)絡(luò)營(yíng)銷專業(yè)課程
  • 重慶的做網(wǎng)站公司百度風(fēng)云榜小說(shuō)榜排名
  • 專業(yè)做網(wǎng)站價(jià)格廈門百度關(guān)鍵詞優(yōu)化
  • 網(wǎng)站推廣的技巧和方法企業(yè)網(wǎng)站的網(wǎng)絡(luò)營(yíng)銷功能
  • 在什么網(wǎng)站做貿(mào)易好最簡(jiǎn)短的培訓(xùn)心得
  • 江蘇建設(shè)廳官方網(wǎng)站安全員北京專門做seo
  • 佛山市網(wǎng)站建設(shè)保定網(wǎng)站建設(shè)方案優(yōu)化
  • 一個(gè)域名做多個(gè)網(wǎng)站快速seo優(yōu)化
  • 如何做話費(fèi)卡回收網(wǎng)站開發(fā)網(wǎng)站多少錢