python的類class定義及其初始化方式
python類class定義及其初始化
定義類,功能,屬性
一般類名首字母大寫
class Calculator: #名字和價格是屬性 name="jisuanqi" price=28 #定義的四個函數(shù)是功能 def add(self,x,y): print(self.name)#這里指的是函數(shù)的屬性-名字 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 #初始化,里面的參數(shù)可以自己定義 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) #這里必須傳入?yún)?shù)才可以 calc=Calculator('good calc',280,30,30,100) print(calc.name)#jisuanqi print(calc.weight)#100 print(calc.price)#280
輸出結(jié)果:
good calc
100
280
Python定義類時,class,class()和class(object)的區(qū)別
- 1.使用 Python 時, 遇到 class A 和 class A(object) 的寫法,在 Py2 中是有概念上和功能上的區(qū)別的, 分別稱為經(jīng)典類(舊式類)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中已經(jīng)默認繼承object類
所以,繼承object類是為了讓自己定義的類擁有更多的屬性,以便使用。當然如果用不到,不繼承object類也可以。
python2中繼承object類是為了和python3保持一致,python3中自動繼承了object類。
python2中需要寫為如下形式才可以繼承object類。
def class(object):
python2中寫為如下兩種形式都是不能繼承object類的,也就是說是等價的。
def class: def class():
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Flask使用SQLAlchemy實現(xiàn)持久化數(shù)據(jù)
本文主要介紹了Flask使用SQLAlchemy實現(xiàn)持久化數(shù)據(jù),文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2021-07-07python實現(xiàn)密度聚類(模板代碼+sklearn代碼)
這篇文章主要介紹了python實現(xiàn)密度聚類(模板代碼+sklearn代碼),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04Python selenium如何打包靜態(tài)網(wǎng)頁并下載
這篇文章主要介紹了Python selenium如何打包靜態(tài)網(wǎng)頁并下載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08