關於python 類的小例子(簡單易懂的知識點)

2021-09-28 18:34:08 字數 2116 閱讀 5463

1. 類內變數:public可訪問,private(__雙下劃線)不可訪問

2. 類內函式:def語句,分有參、無參兩種,而且要注意引數不能是self.x格式的

3. 變數的呼叫:類內公共變數可直接訪問(如x.a),還可以用於其他def函式中,但是呼叫時要加字首self

4. 外部傳入引數的呼叫:同3,可直接訪問(如x.x1),可以用於其他def函式中,呼叫時要加字首self

5.類的例項化:分無參和有參,前者load(),後者load(1,2,3)

class load():

a = 1

b = 100

__abc = 2 #不可訪問

def __init__(self, x1, x2, x3): # 類的外部引數,注意__前後均有,這裡錯了會導致例項化報錯

self.x1 = x1

self.x2 = x2

self.x3 = x3

def pr(self): # 沒有引數

print('hello')

def myadd(self, k): # 帶引數,但是這個引數不能為self.x這類

return k + self.a # 接上行,self.x可以出現在函式內部,類內全域性變數呼叫需加字首self

def myfun(self, x):

out1 = x + self.x1 # 類外傳入引數的呼叫同類內全域性變數的呼叫,字首加self

return out1

def myfun2(self, x):

out2 = self.myfun(x) # 類內函式呼叫,既非呼叫myfun(),也不是load.myfun(),而是加字首

return out2 # self.myfun()呼叫,和變數呼叫是相同的模式

x = load(1, 2, 3) # 帶引數的例項化

print(x.a)

print(x.myadd(111)) # 注意不要寫成load.myadd(),因為沒注意導致報錯了

print(x.myfun(9))

print(x.myfun2(100)) # 函式呼叫

6. 跨檔案的呼叫

# 儲存在classtest.py

class load8760():

a = 1

b = 100

__abc = 2

def __init__(self, x1, x2, x3):

self.x1 = x1

self.x2 = x2

self.x3 = x3

def pr(self):

print('hello')

def myadd(self, k):

return k + self.a

def myfun(self, x):

out1 = x + self.x1

return out1

def myfun2(self, x):

out2 = self.myfun(x)

return out2

呼叫示範:

# 儲存在classmain.py檔案中

import classtest

t = classtest.load8760(10, 11, 12) # 注意例項化的同時要傳入引數

t.pr() # 不帶引數的函式呼叫

print(t.myfun(2)) # 帶引數的函式呼叫

7. 幾點容易出錯的點:

(1) __init__後面的雙下劃線不要忘記,否則會一直報錯

(2)帶引數的類,在例項化的時候,記得同時傳入引數,否則報錯,缺少引數

(3)寫成類的時候,呼叫外部變數和def函式都要加self.xx

webSql的簡單小例子

初始化websql資料庫的引數資訊 1 var config 7 var db window.opendatabase config.name,config.version,config.desc,config.size 此函式為建立乙個表 1 function cratetable errorca...

關於 引用 的簡單例子

一般而言,引用的使用限制在以下三種情況 1.引數本身必須改變 2.要傳回兩個以上的值 3.有大量引數需要傳遞,如果不使用引用,則將耗費時間在引數的複製上.例如引數為大型向量或矩陣的情況.以下是簡單的引用的例子 temp2.cpp 定義控制台應用程式的入口點。include stdafx.h incl...

python爬蟲 兩個簡單的小例子

import requests url value input search headers param response requests.get url url,params param,headers headers response.encoding utf 8 亂碼 page conten...