python的類class定義及其初始化方式
更新時間:2023年05月31日 14:22:25 作者:嗨皮lemon
這篇文章主要介紹了python的類class定義及其初始化方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
python類class定義及其初始化
定義類,功能,屬性
一般類名首字母大寫
class Calculator:
#名字和價格是屬性
name="jisuanqi"
price=28
#定義的四個函數是功能
def add(self,x,y):
print(self.name)#這里指的是函數的屬性-名字
result=x+y
print(result)
def subtract(self,x,y):
print(x-y)
def multiply(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
calc=Calculator()
print(calc.name)#jisuanqi
print(calc.price)#28
print(calc.add(1,2))#3
print(calc.subtract(10,2))#8輸出:
jisuanqi
28
jisuanqi
3
None
8
None
類的初始_init_
class Calculator:
name="jisuanqi" #這是固有屬性
price=28
#初始化,里面的參數可以自己定義
def __init__(self,name,price,hight,width,weight):
self.name=name
self.price=price
self.h=hight
self.w=width
self.weight=weight
def add(self,x,y):
print(self.name)
result=x+y
print(result)
def subtract(self,x,y):
print(x-y)
def multiply(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
#這里必須傳入參數才可以
calc=Calculator('good calc',280,30,30,100)
print(calc.name)#jisuanqi
print(calc.weight)#100
print(calc.price)#280輸出結果:
good calc
100
280
Python定義類時,class,class()和class(object)的區(qū)別
- 1.使用 Python 時, 遇到 class A 和 class A(object) 的寫法,在 Py2 中是有概念上和功能上的區(qū)別的, 分別稱為經典類(舊式類)old-style(classic-style) 與新式類的區(qū)別new-style。
- 2.歷史原因:.2.2以前的時候type和object還不統(tǒng)一. 在2.2統(tǒng)一到3之間, 要用class Foo(object)來申明新式類, 因為它的type是 < type ‘type’ > .不然的話, 生成的類的type就是 < type ‘classobj’ >
- 3.為什么要繼承object類?主要目的是便于統(tǒng)一操作。在python 3.X中已經默認繼承object類
所以,繼承object類是為了讓自己定義的類擁有更多的屬性,以便使用。當然如果用不到,不繼承object類也可以。
python2中繼承object類是為了和python3保持一致,python3中自動繼承了object類。
python2中需要寫為如下形式才可以繼承object類。
def class(object):
python2中寫為如下兩種形式都是不能繼承object類的,也就是說是等價的。
def class: def class():
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python selenium如何打包靜態(tài)網頁并下載
這篇文章主要介紹了Python selenium如何打包靜態(tài)網頁并下載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08

