中級篇之2-Python中類函數模塊的簡單介紹和方法調用
前篇文章介紹了PyCharm的基本使用,接下來我們的腳本代碼都在這個PyCharm這個編輯器里寫。好處有很多,項目文件結構層次清晰,寫代碼的時候會自動化提示和補全。這裡,我們在昨天創建的項目下,新建一個包,然後在包下面新建一個demo.py文件。抄寫以下代碼到你的環境里,嘗試運行下,看看有沒有問題。
關於Python中類和函數及方法的調用,我們寫在這個demo.py文件,具體代碼如下:
# 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這個類本身:
# 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使用擴展庫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 介紹及簡單使用