Python 中的使用者自定義型別

2021-09-06 10:58:56 字數 1911 閱讀 2527

python中物件導向的技術

python是物件導向的程式語言,自然提供了物件導向的程式設計方法。但要給物件導向的程式設計方法下乙個定義,是很困難的。問題關鍵是理解物件

的含義。物件的含義是廣泛的,它是對現實世界和概念世界的抽象、模擬和提煉。

物件的方法與函式類似,但是還有兩方面的區別:

1-方法定義在類的內部,是類的一部分,他們之間的關係是很明顯的;

2-呼叫的語法不一樣;

>>> class time:

... pass

...

...

>>> def printtime(time):

... print str(time.hours)

...

...

>>> now = time();

>>> now.hours = 10;

>>> printtime(now)

10>>>

我們通過改變縮排可以改變函式的作用域的歸屬:

>>> class time:

... def printtime(self):

... print str(self.hours)

...

... def increment(self,hours):

... self.hours = hours + self.hours

... while self.hours >= 12:

... self.hours = self.hours - 12

... self.day = self.day + 1

...

...

...

...

>>>

可選擇的引數

我們曾見到一些內建的函式,能夠接受的引數個數是可變的。同樣,你也能夠定義可變引數的函式。下面這個函式求從數head開始,到tail為尾,步長為step的所有數之和。

>>> def total(head,tail,step):

... temp = 0;

... while head <= tail:

... temp = temp + head;

... head = head + step;

...

... return temp;

...

...

>>> total(1,100)

traceback (most recent call last):

file "", line 1, in typeerror: total() takes exactly 3 arguments (2 given)

>>> total(1,100,3)

1717

>>> def total(head,tail,step = 2):

... temp = 0;

... while head <= tail:

... temp = temp + head;

... head = head + step;

...

... return temp;

...

...

>>> total(1,100);

2500

>>> total(1,100,3);

1717

>>>

Python 中的使用者自定義型別

python中物件導向的技術 python是物件導向的程式語言,自然提供了物件導向的程式設計方法。但要給物件導向的程式設計方法下乙個定義,是很困難的。問題關鍵是理解物件 的含義。物件的含義是廣泛的,它是對現實世界和概念世界的抽象 模擬和提煉。物件的方法與函式類似,但是還有兩方面的區別 1 方法定義在...

C C 程式設計 使用者自定義型別

include struct vector 表示通過非const引用的方式傳遞v,這樣vector init就可以修改v指向的變數了 void vector init vector v,int s void f vector v,vector rv,vector pv using namespace...

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...