中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

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

網(wǎng)站開發(fā)設(shè)計流程文檔微信視頻號小店

網(wǎng)站開發(fā)設(shè)計流程文檔,微信視頻號小店,網(wǎng)站建設(shè)公司山西,wordpress主題目錄前言 Python從設(shè)計之初就已經(jīng)是一門面向?qū)ο蟮恼Z言,正因為如此,在Python中創(chuàng)建一個類和對象是很容易的。本章節(jié)我們將詳細(xì)介紹Python的面向?qū)ο缶幊?。如果你以前沒有接觸過面向?qū)ο蟮木幊陶Z言,那你可能需要先了解一些面向?qū)ο笳Z言的一些基本…

前言

Python從設(shè)計之初就已經(jīng)是一門面向?qū)ο蟮恼Z言,正因為如此,在Python中創(chuàng)建一個類和對象是很容易的。本章節(jié)我們將詳細(xì)介紹Python的面向?qū)ο缶幊獭H绻阋郧皼]有接觸過面向?qū)ο蟮木幊陶Z言,那你可能需要先了解一些面向?qū)ο笳Z言的一些基本特征,在頭腦里頭形成一個基本的面向?qū)ο蟮母拍?#xff0c;這樣有助于你更容易的學(xué)習(xí)Python的面向?qū)ο缶幊獭?/p>

接下來我們先來簡單的了解下面向?qū)ο蟮囊恍┗咎卣鳌?/p>

1.?面向?qū)ο蠹夹g(shù)簡介

  • 類(Class):?用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實例變量使用。
  • 數(shù)據(jù)成員:類變量或者實例變量, 用于處理類及其實例對象的相關(guān)的數(shù)據(jù)。
  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進(jìn)行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
  • 局部變量:定義在方法中的變量,只作用于當(dāng)前實例的類。
  • 實例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內(nèi)部但是在類的其他成員方法之外聲明的。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設(shè)計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關(guān)系(例圖,Dog是一個Animal)。
  • 實例化:創(chuàng)建一個類的實例,類的具體對象。
  • 方法:類中定義的函數(shù)。
  • 對象:通過類定義的數(shù)據(jù)結(jié)構(gòu)實例。對象包括兩個數(shù)據(jù)成員(類變量和實例變量)和方法。

2. 創(chuàng)建類與實例化對象

使用 class 語句來創(chuàng)建一個新類,class 之后為類的名稱并以冒號結(jié)尾:

class Person:def say(self):print("Hello World")

?類創(chuàng)建實例:

class Person:username = ""password = ""def __init__(self,username,password):self.username = usernameself.password = passworddef getUsername(self):return self.usernamedef getPassword(self):return self.password  user = Person("admin","123456")
print(user.getUsername())
print(user.getPassword())

注意:

1.?第一種方法__init__()方法是一種特殊的方法,被稱為類的構(gòu)造函數(shù)或初始化方法,當(dāng)創(chuàng)建了這個類的實例時就會調(diào)用該方法

2.?self 代表類的實例,self 在定義類的方法時是必須有的,雖然在調(diào)用時不必傳入相應(yīng)的參數(shù)。類的方法與普通的函數(shù)只有一個特別的區(qū)別——它們必須有一個額外的第一個參數(shù)名稱, 按照慣例它的名稱是 self。

3. 類的繼承

面向?qū)ο蟮木幊處淼闹饕锰幹皇谴a的重用,實現(xiàn)這種重用的方法之一是通過繼承機(jī)制。

通過繼承創(chuàng)建的新類稱為子類派生類,被繼承的類稱為基類、父類超類。

語法

class 派生類名(基類名)

1、如果在子類中需要父類的構(gòu)造方法就需要顯式的調(diào)用父類的構(gòu)造方法,或者不重寫父類的構(gòu)造方法。詳細(xì)說明可查看:?python 子類繼承父類構(gòu)造函數(shù)說明。

2、在調(diào)用基類的方法時,需要加上基類的類名前綴,且需要帶上 self 參數(shù)變量。區(qū)別在于類中調(diào)用普通函數(shù)時并不需要帶上 self 參數(shù)

3、Python 總是首先查找對應(yīng)類型的方法,如果它不能在派生類中找到對應(yīng)的方法,它才開始到基類中逐個查找。(先在本類中查找調(diào)用的方法,找不到才去基類中找)。

class Person:username = ""password = ""def __init__(self,username,password):self.username = usernameself.password = passworddef getUsername(self):return self.usernamedef getPassword(self):return self.password  class Admin(Person):isAdmin = Truedef __init__(self,username,password,isAdmin):super().__init__(username,password)self.isAdmin = isAdmindef printInfo(self):print("Username: " + self.username + "\nPassword: " + self.password + "\nAdmin: " + str(self.isAdmin))admin = Admin("admin","123456",True)
admin2 = Admin("user","123456",False)admin.printInfo()
admin2.printInfo()

?在子類中我們可以使用super()來調(diào)用父類中的構(gòu)造函數(shù)、變量和方法

4. 類繼承后方法的重寫

如果你的父類方法的功能不能滿足你的需求,你可以在子類重寫你父類的方法。

class Person:username = ""password = ""def __init__(self,username,password):self.username = usernameself.password = passworddef getUsername(self):return self.usernamedef getPassword(self):return self.password  def printInfo(self):print("Username: " + self.username)print("Password: " + self.password)  class Admin(Person):isAdmin = Truedef __init__(self,username,password,isAdmin):super().__init__(username,password)self.isAdmin = isAdmindef printInfo(self):print("Username: " + self.username + "\nPassword: " + self.password + "\nAdmin: " + str(self.isAdmin))user = Person("user1","123456")
user.printInfo()admin = Admin("admin","123456",True)
admin2 = Admin("user","123456",False)admin.printInfo()
admin2.printInfo()

5. 類繼承后方法的重載

6. 類的私有屬性和方法

類的私有屬性和私有方法類似于Java的private訪問修飾符,又有不同的地方。

類的私有屬性????????

__private_attrs:兩個下劃線開頭,聲明該屬性為私有,不能在類的外部被使用或直接訪問。在類內(nèi)部的方法中使用時?self.__private_attrs。

類的方法

在類的內(nèi)部,使用?def?關(guān)鍵字可以為類定義一個方法,與一般函數(shù)定義不同,類方法必須包含參數(shù) self,且為第一個參數(shù)

類的私有方法

__private_method:兩個下劃線開頭,聲明該方法為私有方法,不能在類的外部調(diào)用。在類的內(nèi)部調(diào)用?self.__private_methods

class User:__username=""__password=""def __init__(self,username,password):self.__username=usernameself.__password=passworddef getUsername(self):return self.__usernamedef setUsername(self,username):self.__username=usernamedef getPassword(self):return self.__passworddef setPassword(self,password):self.__password=passworduser = User("admin","123123")
print(user.getUsername())
user.setPassword("123456")
print(user.getPassword())

單下劃線、雙下劃線、頭尾雙下劃線說明:

  • __foo__: 定義的是特殊方法,一般是系統(tǒng)定義名字 ,類似?__init__()?之類的。

  • _foo: 以單下劃線開頭的表示的是 protected 類型的變量,即保護(hù)類型只能允許其本身與子類進(jìn)行訪問,不能用于?from module import *

  • __foo: 雙下劃線的表示的是私有類型(private)的變量, 只能是允許這個類本身進(jìn)行訪問了。

http://www.risenshineclean.com/news/23326.html

相關(guān)文章:

  • 做網(wǎng)站宣傳的公司google chrome官網(wǎng)
  • qq網(wǎng)站直接登錄網(wǎng)絡(luò)營銷與直播電商是干什么的
  • 優(yōu)酷網(wǎng)站誰做的sem外包
  • 白云區(qū)建網(wǎng)站網(wǎng)絡(luò)推廣產(chǎn)品公司
  • 企業(yè)網(wǎng)站的建設(shè)有哪些經(jīng)典問題seo優(yōu)化技術(shù)排名
  • 動態(tài)網(wǎng)站沒有數(shù)據(jù)庫怎么做產(chǎn)品推廣策劃書
  • dw網(wǎng)頁設(shè)計制作網(wǎng)站的成品自己創(chuàng)建網(wǎng)頁
  • 無錫高端網(wǎng)站建設(shè)開發(fā)在線咨詢 1 網(wǎng)站宣傳
  • 快設(shè)計網(wǎng)站官網(wǎng)seo國外英文論壇
  • b2b跟b2c有什么區(qū)別seo網(wǎng)上培訓(xùn)課程
  • 做網(wǎng)站一定要后臺嘛網(wǎng)站建設(shè)優(yōu)化400報價
  • 廈門網(wǎng)站建設(shè)哪家好小程序制作
  • 鞍山疫情最新情況鄭州網(wǎng)站seo公司
  • 做網(wǎng)站的目標(biāo)是什么福鼎網(wǎng)站優(yōu)化公司
  • nas服務(wù)器 做網(wǎng)站域名大全免費網(wǎng)站
  • wordpress多大伊春seo
  • 武漢微信網(wǎng)站建設(shè)網(wǎng)站seo推廣員招聘
  • 如何做商業(yè)推廣網(wǎng)站淘寶搜索排名
  • 做外貿(mào)家紡資料網(wǎng)站重慶店鋪整站優(yōu)化
  • 關(guān)于做花茶網(wǎng)站的策劃書windows優(yōu)化大師有必要安裝嗎
  • 哈爾濱 微網(wǎng)站設(shè)計百度站長工具
  • 政府網(wǎng)站建設(shè)開題報告企業(yè)網(wǎng)站怎么制作
  • 個人免費網(wǎng)站注冊seo整站優(yōu)化服務(wù)
  • 在線代碼編輯器seo 優(yōu)化案例
  • 音樂網(wǎng)站開發(fā)分享企拓客軟件怎么樣
  • 如何給自己網(wǎng)站做反鏈全國今日新增疫情
  • 網(wǎng)站制作設(shè)計方案行業(yè)網(wǎng)站網(wǎng)址
  • 天津外貿(mào)網(wǎng)站建設(shè)阿里云域名注冊流程
  • 十堰網(wǎng)站建設(shè)公司公司品牌推廣方案范文
  • 托管型網(wǎng)站專業(yè)網(wǎng)絡(luò)推廣公司排名