當前位置:
首頁 > 知識 > 中級篇之2-Python中類函數模塊的簡單介紹和方法調用

中級篇之2-Python中類函數模塊的簡單介紹和方法調用


前篇文章介紹了PyCharm的基本使用,接下來我們的腳本代碼都在這個PyCharm這個編輯器里寫。好處有很多,項目文件結構層次清晰,寫代碼的時候會自動化提示和補全。這裡,我們在昨天創建的項目下,新建一個包,然後在包下面新建一個demo.py文件。抄寫以下代碼到你的環境里,嘗試運行下,看看有沒有問題。


關於Python中類和函數及方法的調用,我們寫在這個demo.py文件,具體代碼如下:



中級篇之2-Python中類函數模塊的簡單介紹和方法調用



# coding=utf-8

class ClassA(object):


string1 = "這是一個字元串。"


def instancefunc(self):


print ("這是一個實例方法。")


print (self)


@classmethod


def classfunc(cls):


print ("這是一個類方法。")


print (cls)


@staticmethod

def staticfun():


print ("這是一個靜態方法。")


test = ClassA() # 初始化一個ClasssA的對象,test是類ClassA的實例對象


test.instancefunc() # 對象調用實例方法


test.staticfun() # 對象調用靜態方法


test.classfunc() # 對象調用類方法


print test.string1 # 對象調用類變數


ClassA.instancefunc(test) # 類調用實例方法,需要帶參數,這裡的test是一個對象參數


ClassA.instancefunc(ClassA) # 類調用實例方法,需要帶參數,這裡的ClassA是一個類參數


ClassA.staticfun() # 類調用靜態方法

ClassA.classfunc() # 類調用類方法


備註:


先運行下代碼是否會報錯,然後嘗試自己去理解下。主要有以下幾點內容


1. 類的定義,class開頭的就表示這是一個類,小括弧裡面的,表示這個類的父類,涉及到繼承,默認object是所有類的父類。python中定義類,小括弧內主要有三種:1. 具體一個父類,2. object 3. 空白


2. 函數或方法的定義, def開頭就表示定義一個函數,方法包括,實例方法,類方法,靜態方法,注意看類方法和靜態方法定義的時候上面有一個@標記。


3. 對象調用方法和類調用方法的使用。


這篇講的東西,確實比較難理解。如果學過Java的人,可能會好理解類和對象,以及面向對象的概念。Python同時支持面向過程變成和面向對象編程,所有python中也有類和對象等概念。一般來說,概念的東西比較繞,如果你Python基礎沒有看到這部分,那邊請回去《看笨方法學python》中關於這塊的介紹。如果有看過了,還是不理解,我只能告訴你,繼續學下去,你現在哪怕死記住這些概念和他們的基本使用。等到後面,框架設計部分,你會慢慢體會到這些基本概念的實際用法,你跟著寫了代碼後,會有助於你自己的理解和提高。


最後,來說下python中的模塊,在python中,你新建一個demo.py文件,那麼一個.py文件可以說是一個模塊,一個模塊中,可以定義多個class,模塊中也可以直接定義函數。和java一樣,訪問不同包下的類和方法之前,需要導入相關路徑下的包。例如from selenium import webdriver 這個導入語句,我們知道webdriver這個介面是在selenium的模塊下。


本篇文章的學習目的,會用函數或者類來編寫我們之前寫過的腳本。


以下用百度搜索舉例,模仿上面用類調用實例的方法來寫這個腳本,可能看起來比較啰嗦,但是代碼多了,你就會體會到類的作用,注意這裡self指的是當前BaiduSearch這個類本身:


中級篇之2-Python中類函數模塊的簡單介紹和方法調用



# coding=utf-8


import time


from selenium import webdriver


class BaiduSearch(object):


driver = webdriver.Chrome()


driver.maximize_window()


driver.implicitly_wait(10)


def open_baidu(self):

self.driver.get("https://www.baidu.com")


time.sleep(1)


def test_search(self):


try:


print ("Test pass.")


except Exception as e:


print ("Test fail.")


baidu = BaiduSearch()


baidu.open_baidu()


baidu.test_search()

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

Python中用函數編程 打開另一個世界的大門
為啥說Python是偉大的入門語言?
Python使用擴展庫progressbar顯示進度條

TAG:Python |

您可能感興趣

python的模塊介紹
Python 3.7:數據類的介紹
Python 標準庫系列之模塊介紹
介紹幾個簡單好用的Design Pattern
介紹區塊鏈中加密技術-Hash函數
簡單介紹 TF-Ranking
Instagram的Python性能調優方法介紹
Python NLP庫top6的介紹和比較
python的模塊module介紹
Phytonia旗下3step面霜的詳細介紹
Python中階入門之偏函數介紹
Python數據分析常見庫介紹之Pandas
Linux中Postfix郵件原理介紹(一)
OpenStack 基礎介紹03——各組件綜述之Nova
ansible常用模塊簡單介紹
Tkinter小部件用法介紹
區塊鏈-Ethermint框架源代碼介紹
2019福袋介紹-EMODA、jouetie、Mercuryduo等 Runway旗下品牌篇
介紹篇 Be your own HERO
SpringBoot | 第二章:lombok 介紹及簡單使用