91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python面向對象開發的示例分析

發布時間:2022-03-31 12:35:25 來源:億速云 閱讀:143 作者:小新 欄目:開發技術

這篇文章主要介紹了python面向對象開發的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

Python 面向對象

Python從設計之初就已經是一門面向對象的語言,正因為如此,在Python中創建一個類和對象是很容易的。本章節我們將詳細介紹Python的面向對象編程。

如果你以前沒有接觸過面向對象的編程語言,那你可能需要先了解一些面向對象語言的一些基本特征,在頭腦里頭形成一個基本的面向對象的概念,這樣有助于你更容易的學習Python的面向對象編程。

接下來我們先來簡單的了解下面向對象的一些基本特征。

面向對象技術簡介

  • 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。

  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。

  • 數據成員:類變量或者實例變量, 用于處理類及其實例對象的相關的數據。

  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。

  • 局部變量:定義在方法中的變量,只作用于當前實例的類。

  • 實例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。

  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關系(例圖,Dog是一個Animal)。

  • 實例化:創建一個類的實例,類的具體對象。

  • 方法:類中定義的函數。

  • 對象:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

一、實驗要求

1.熟悉python中的面向對象機制;
2.能正確定義并使用類和對象。

二、實驗內容

1 設計一個向量類,實現數據的輸入、輸出、向量的加法、減法、點積、夾角等計算

import math
class Vectors:
    def __init__(self):
        self.x1 = 0
        self.x2 = 0
        self.y1 = 0
        self.y2 = 0
        self.x = self.x2 - self.x1
        self.y = self.y2 - self.y1
    def add(self):
        self.x1 = int(input("input x1 "))
        self.y1 = int(input("input y1 "))
        self.x2 = int(input("input x2 "))
        self.y2 = int(input("input y2 "))
    def out(self):
        print(self.x, self.y)
    def plus(self, a, b):
        self.x = a.x + b.x
        self.y = a.y + b.y
    def sub(self, a, b):
        self.x = a.x - b.x
        self.y = a.y - b.y
    def pointmuti(self, a, b):
        return (a.x * b.x + a.y * b.y)
    def angle(self, a, b):
        a1 = (a.x * a.x + a.y * a.y) ** 0.5
        b1 = (b.x * b.x + b.y * b.y) ** 0.5
        ab = a.x * b.x + a.y * b.y
        return ab // (a1 * b1)
v = Vectors()
a = Vectors()
b = Vectors()
a.add()
b.add()
a.out()
b.out()
v.plus(a, b)
v.out()
v.sub(a, b)
print(v.pointmuti(a, b))
print(math.acos(v.angle(a, b)))

2 設計一個三角形類,實現數據的輸入、輸出、周長、面積的計算

import math
class Triangle:
    def __init__(self):
        a = 0
        b = 0
        c = 0
    def add(self):
        self.a = int(input("輸入第1條邊的長度:"))
        self.b = int(input("輸入第2條邊的長度:"))
        self.c = int(input("輸入第3條邊的長度:"))
        while (self.a + self.b <= self.c):
            print("不符合三角邊的規定,重新輸入!")
            self.a = int(input("輸入第1條邊的長度:"))
            self.b = int(input("輸入第2條邊的長度:"))
            self.c = int(input("輸入第3條邊的長度:"))
    def out(self):
        print(self.a, self.b, self.c)
    def length(self):
        return self.a+self.b+self.c
    def area(self):
        p=self.length()/2
        print(math.sqrt(p*(p-self.a)*(p-self.b)*(p-self.c)))
t = Triangle()
t.add()
t.out()
t.area()

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python面向對象開發的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

栾城县| 佛教| 连平县| 彝良县| 城口县| 柳州市| 姜堰市| 黎城县| 桑植县| 尼木县| 赤峰市| 诸城市| 曲阳县| 武乡县| 桐庐县| 池州市| 桃源县| 陆河县| 武定县| 嵩明县| 遵义市| 双牌县| 金溪县| 连江县| 阳原县| 稻城县| 大埔县| 铜山县| 巴彦淖尔市| 江门市| 敦化市| 福海县| 六安市| 连南| 滨州市| 宁安市| 名山县| 当涂县| 南部县| 休宁县| 兰考县|