Hướng dẫn how do you create a class of a circle in python? - làm thế nào để bạn tạo một lớp của một vòng tròn trong python?

Đây là một chương trình Python để tính toán khu vực và chu vi của vòng tròn bằng các lớp.

Mô tả vấn đề

Chương trình lấy bán kính từ người dùng và tìm thấy khu vực của vòng tròn bằng các lớp.

Giải pháp vấn đề

1. Lấy giá trị của bán kính từ người dùng. 2. Tạo một lớp và sử dụng các giá trị khởi tạo của hàm tạo của lớp đó. 3. Tạo một phương thức gọi là khu vực trả về khu vực của lớp và một phương thức gọi là chu vi trả về chu vi của lớp. 4. Tạo một đối tượng cho lớp. 5. Sử dụng đối tượng, gọi cả hai phương thức. 6. In khu vực và chu vi của vòng tròn. 7. Thoát
2. Create a class and using a constructor initialise values of that class.
3. Create a method called as area which returns the area of the class and a method called as perimeter which returns the perimeter of the class.
4. Create an object for the class.
5. Using the object, call both the methods.
6. Print the area and perimeter of the circle.
7. Exit

Chương trình/mã nguồn

Dưới đây là mã nguồn của chương trình Python để lấy bán kính từ người dùng và tìm khu vực của vòng tròn bằng các lớp. Đầu ra chương trình cũng được hiển thị dưới đây.

import math
class circle():
    def __init__(self,radius):
        self.radius=radius
    def area(self):
        return math.pi*(self.radius**2)
    def perimeter(self):
        return 2*math.pi*self.radius
 
r=int(input("Enter radius of circle: "))
obj=circle(r)
print("Area of circle:",round(obj.area(),2))
print("Perimeter of circle:",round(obj.perimeter(),2))

Giải thích chương trình

1. Người dùng phải nhập giá trị của bán kính. 2. Một lớp gọi là Circle được tạo và phương thức __init __ () được sử dụng để khởi tạo các giá trị của lớp đó. 3. Một phương pháp được gọi là khu vực trả về Math.pi*(self.radius ** 2) là khu vực của lớp. 3. Một phương pháp khác được gọi là chu vi trả về 2*math.pi*self.radius là chu vi của lớp. 5. Một đối tượng cho lớp được tạo. 6. Sử dụng đối tượng, vùng phương thức () và chu vi () được gọi. 7. Khu vực và chu vi của vòng tròn được in.
2. A class called circle is created and the __init__() method is used to initialize values of that class.
3. A method called as area returns math.pi*(self.radius**2) which is the area of the class.
3. Another method called perimeter returns 2*math.pi*self.radius which is the perimeter of the class.
5. An object for the class is created.
6. Using the object, the methods area() and perimeter() are called.
7. The area and perimeter of the circle is printed.

Trường hợp kiểm tra thời gian chạy

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83

Sê -ri Giáo dục & Học tập toàn cầu Sanfoundry - Chương trình Python.

Để thực hành tất cả các chương trình Python, đây là bộ hoàn thành hơn 150 vấn đề và giải pháp Python.

Bước tiếp theo:

  • Nhận Giấy chứng nhận miễn phí trong chương trình Python
  • Tham gia cuộc thi chứng nhận lập trình Python
  • Trở thành một người xếp hạng hàng đầu trong chương trình Python
  • Thực hiện các bài kiểm tra lập trình Python
  • Các bài kiểm tra thực hành theo chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10
  • Các bài kiểm tra giả chương: Chương 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10,

Hướng dẫn how do you create a class of a circle in python? - làm thế nào để bạn tạo một lớp của một vòng tròn trong python?

Manish Bhojasia, một cựu chiến binh công nghệ với hơn 20 năm @ Cisco & Wipro, là người sáng lập và CTO tại Sanfoundry. Ông sống ở Bangalore, và tập trung vào sự phát triển của nhân Linux, Công nghệ San, Cvanced C, Cấu trúc dữ liệu & Alogrithms. Giữ kết nối với anh ta tại LinkedIn.Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Đăng ký các lớp học chính miễn phí của mình tại YouTube & Thảo luận kỹ thuật tại Telegram SanfoundryClasses.

$$ \ newCommand {\ tp} {\ thinspace.} $$

Chương này được lấy từ cuốn sách A Primer về lập trình khoa học với Python của H. P. Langtangen, Phiên bản thứ 5, Springer, 2016.

Thêm các ví dụ về các lớp học

Việc sử dụng các lớp học để giải quyết các vấn đề từ khoa học toán học và vật lý có thể không quá rõ ràng. Mặt khác, trong nhiều chương trình hành chính để quản lý các tương tác giữa các đối tượng trong thế giới thực, bản thân các đối tượng là các ứng cử viên tự nhiên để được mô hình hóa bởi các lớp học. Dưới đây chúng tôi đưa ra một số ví dụ về những gì các lớp có thể được sử dụng để mô hình hóa.

Tài khoản ngân hàng

Khái niệm về tài khoản ngân hàng trong một chương trình là một ứng cử viên tốt cho một lớp học. Tài khoản có một số dữ liệu, thường là tên của chủ tài khoản, số tài khoản và số dư hiện tại. Ba điều chúng tôi có thể làm với tài khoản là rút tiền, đưa tiền vào tài khoản và in ra dữ liệu của tài khoản. Những hành động này được mô hình hóa bằng các phương pháp. Với một lớp, chúng tôi có thể đóng gói dữ liệu và hành động cùng nhau thành một loại dữ liệu mới để một tài khoản tương ứng với một biến trong một chương trình.

Lớp

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
6 có thể được thực hiện như sau:

class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s

Dưới đây là một bài kiểm tra đơn giản về cách sử dụng lớp

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
6:

>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500

Tác giả của lớp này không muốn người dùng của lớp hoạt động trực tiếp trên các thuộc tính và do đó thay đổi tên, số tài khoản hoặc số dư. Mục đích là người dùng của lớp chỉ nên gọi hàm tạo, các phương thức

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
8,
 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
9 và
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
0 và (nếu muốn) kiểm tra thuộc tính
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
1, nhưng không bao giờ thay đổi nó. Các ngôn ngữ khác có hỗ trợ lớp thường có các từ khóa đặc biệt có thể hạn chế quyền truy cập vào các thuộc tính, nhưng Python thì không. Hoặc là tác giả của một lớp Python phải dựa vào việc sử dụng chính xác hoặc một quy ước đặc biệt có thể được sử dụng: bất kỳ tên nào bắt đầu bằng dấu gạch dưới đại diện cho một thuộc tính không bao giờ được chạm vào. Người ta đề cập đến các tên bắt đầu bằng một dấu gạch dưới là tên được bảo vệ. Chúng có thể được sử dụng tự do bên trong các phương pháp trong lớp, nhưng không phải bên ngoài.

Trong lớp

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
6, việc bảo vệ quyền truy cập vào các thuộc tính
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
3,
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
4 và
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
1 là điều tự nhiên bằng cách tiền tố các tên này bằng cách nhấn mạnh. Để chỉ đọc thuộc tính
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
1, chúng tôi cung cấp một phương thức mới
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
7. Người dùng của lớp bây giờ chỉ nên gọi các phương thức trong lớp và không truy cập trực tiếp bất kỳ thuộc tính dữ liệu nào.

Phiên bản "được bảo vệ" mới của lớp

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
6, được gọi là
class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
9, đọc

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s

Về mặt kỹ thuật, chúng ta có thể truy cập các thuộc tính dữ liệu, nhưng sau đó chúng ta phá vỡ quy ước rằng tên bắt đầu bằng một dấu gạch dưới không bao giờ được chạm vào bên ngoài lớp. Đây là lớp

class Account(object):
    def __init__(self, name, account_number, initial_amount):
        self.name = name
        self.no = account_number
        self.balance = initial_amount

    def deposit(self, amount):
        self.balance += amount

    def withdraw(self, amount):
        self.balance -= amount

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self.name, self.no, self.balance)
        print s
9 trong hành động:

>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
Python có một cấu trúc đặc biệt, được gọi là các thuộc tính, có thể được sử dụng để bảo vệ các thuộc tính dữ liệu khỏi bị thay đổi. Điều này rất hữu ích, nhưng tác giả xem xét các thuộc tính hơi quá phức tạp cho cuốn sách giới thiệu này.

Danh bạ điện thoại

Bạn có thể quen thuộc với danh bạ điện thoại trên điện thoại di động của bạn. Danh bạ điện thoại chứa một danh sách những người. Đối với mỗi người, bạn có thể ghi lại tên, số điện thoại, địa chỉ email và có lẽ là dữ liệu liên quan khác. Một cách tự nhiên để thể hiện dữ liệu cá nhân như vậy trong một chương trình là tạo ra một lớp, theo lớp

>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1. Các thuộc tính dữ liệu của lớp giữ thông tin như tên, số điện thoại di động, số điện thoại văn phòng, số điện thoại riêng và địa chỉ email. Trình xây dựng có thể khởi tạo một số dữ liệu về một người. Dữ liệu bổ sung có thể được chỉ định sau bằng cách gọi các phương thức trong lớp. Một phương pháp có thể in dữ liệu. Các phương pháp khác có thể đăng ký số điện thoại bổ sung và địa chỉ email. Ngoài ra, chúng tôi khởi tạo một số thuộc tính dữ liệu trong phương thức cấu trúc. Các thuộc tính không được khởi tạo khi xây dựng một thể hiện
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 có thể được thêm vào sau bằng cách gọi các phương thức thích hợp. Ví dụ: thêm một số văn phòng được thực hiện bằng cách gọi
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
3.

Lớp

>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 có thể trông như

class Person(object):
    def __init__(self, name,
                 mobile_phone=None, office_phone=None,
                 private_phone=None, email=None):
        self.name = name
        self.mobile = mobile_phone
        self.office = office_phone
        self.private = private_phone
        self.email = email

    def add_mobile_phone(self, number):
        self.mobile = number

    def add_office_phone(self, number):
        self.office = number

    def add_private_phone(self, number):
        self.private = number

    def add_email(self, address):
        self.email = address
Lưu ý việc sử dụng
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
5 làm giá trị mặc định cho các thuộc tính dữ liệu khác nhau: Đối tượng
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
5 thường được sử dụng để chỉ ra rằng một biến hoặc thuộc tính được xác định, nhưng không có giá trị hợp lý.

Một phiên demo nhanh của lớp

>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 có thể đi như sau:

>>> p1 = Person('Hans Hanson',
...             office_phone='767828283', email='')
>>> p2 = Person('Ole Olsen', office_phone='767828292')
>>> p2.add_email('')
>>> phone_book = [p1, p2]
Có thể tiện dụng để thêm một phương thức in nội dung của một ví dụ
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 một cách đẹp:
class Person(object):
    ...
    def dump(self):
        s = self.name + '\n'
        if self.mobile is not None:
            s += 'mobile phone:   %s\n' % self.mobile
        if self.office is not None:
            s += 'office phone:   %s\n' % self.office
        if self.private is not None:
            s += 'private phone:  %s\n' % self.private
        if self.email is not None:
            s += 'email address:  %s\n' % self.email
        print s
với phương pháp này, chúng ta có thể dễ dàng in danh bạ điện thoại:
>>> for person in phone_book:
...     person.dump()
...
Hans Hanson
office phone:   767828283
email address:  

Ole Olsen
office phone:   767828292
email address:  

Một danh bạ điện thoại có thể là danh sách các trường hợp

>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1, như được nêu trong các ví dụ trên. Tuy nhiên, nếu chúng tôi nhanh chóng muốn tra cứu các số điện thoại hoặc địa chỉ email cho một tên nhất định, sẽ thuận tiện hơn khi lưu trữ các trường hợp
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 trong từ điển có tên là khóa:

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
0 Ví dụ hiện tại của các đối tượng
>>> from classes import Account
>>> a1 = Account('John Olsson', '19371554951', 20000)
>>> a2 = Account('Liz Olsson',  '19371564761', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a2.withdraw(10500)
>>> a1.withdraw(3500)
>>> print "a1's balance:", a1.balance
a1's balance: 13500
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> a2.dump()
Liz Olsson, 19371564761, balance: 9500
1 được mở rộng trong phần Ví dụ: Danh bạ điện thoại với các phương thức đặc biệt.

Một vòng tròn

Các số liệu hình học, chẳng hạn như một vòng tròn, là các ứng cử viên khác cho các lớp học trong một chương trình. Một vòng tròn được xác định duy nhất bởi điểm trung tâm của nó \ ((x_0, y_0) \) và bán kính của nó \ (r \). Chúng ta có thể thu thập ba số này dưới dạng thuộc tính dữ liệu trong một lớp. Các giá trị của \ (x_0 \), \ (y_0 \) và \ (r \) được khởi tạo tự nhiên trong hàm tạo. Các phương pháp khác có thể là

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
2 và
class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
3 để tính toán diện tích \ (\ pi r^2 \) và chu vi \ (2 \ pi r \):

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
1

Một ví dụ về việc sử dụng lớp

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
4 như sau:

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
2

Các ý tưởng của lớp

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
4 cũng có thể được áp dụng cho các vật thể hình học khác: hình chữ nhật, hình tam giác, hình elip, hộp, hình cầu, v.v. và một tam giác.

xác minh

Chúng ta nên bao gồm một chức năng kiểm tra để kiểm tra xem việc thực hiện lớp

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
4 có đúng không:

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
3 Hàm
class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
8 được viết theo cách mà nó có thể được sử dụng trong khung thử nghiệm pytest hoặc mũi. Các quy ước cần thiết là tên hàm bắt đầu bằng
class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
9, hàm không có đối số và tất cả các thử nghiệm đều có dạng
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
0 hoặc
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
1 trong đó
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
2 là điều kiện boolean cho bài kiểm tra và
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
3 là một thông điệp tùy chọn được viết nếu bài kiểm tra không thành công (
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
2 là
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
5). Đó là một thói quen tốt để viết các chức năng kiểm tra như vậy để xác minh việc thực hiện các lớp.

Nhận xét

Thường có nhiều giải pháp cho một vấn đề lập trình. Đại diện cho một vòng tròn cũng không ngoại lệ. Thay vì sử dụng một lớp, chúng ta có thể thu thập \ (x_0 \), \ (y_0 \) và \ (r \) trong danh sách và tạo các chức năng toàn cầu

class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
2 và
class AccountP(object):
    def __init__(self, name, account_number, initial_amount):
        self._name = name
        self._no = account_number
        self._balance = initial_amount

    def deposit(self, amount):
        self._balance += amount

    def withdraw(self, amount):
        self._balance -= amount

    def get_balance(self):
        return self._balance

    def dump(self):
        s = '%s, %s, balance: %s' % \ 
            (self._name, self._no, self._balance)
        print s
3 lấy danh sách như đối số:

 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
4 Cách khác, vòng tròn có thể được biểu diễn bằng một từ điển có các phím
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
8 và
>>> a1 = AccountP('John Olsson', '19371554951', 20000)
>>> a1.deposit(1000)
>>> a1.withdraw(4000)
>>> a1.withdraw(3500)
>>> a1.dump()
John Olsson, 19371554951, balance: 13500
>>> print a1._balance       # it works, but a convention is broken
13500
print a1.get_balance()      # correct way of viewing the balance
13500
>>> a1._no = '19371554955'  # this is a "serious crime"
9:
 
Case 1:
Enter radius of circle: 5
Area of circle: 78.54
Perimeter of circle: 31.42	
 
Case 2:
Enter radius of circle: 10
Area of circle: 314.16
Perimeter of circle: 62.83
5

Làm thế nào để bạn tạo một lớp học trong Python?

Các lớp và đối tượng Python..
Tạo một lớp học. Để tạo một lớp, hãy sử dụng lớp từ khóa: ....
Tạo đối tượng. Bây giờ chúng ta có thể sử dụng lớp có tên MyClass để tạo các đối tượng: ....
Tham số tự. ....
Sửa đổi thuộc tính đối tượng. ....
Xóa thuộc tính đối tượng. ....
Xóa đối tượng ..

Làm thế nào để bạn lập trình một khu vực vòng tròn trong Python?

Phương pháp tìm diện tích của vòng tròn đã cho bằng Python..
Nhập toán như M ..
Bán kính = Float (đầu vào ("Vui lòng nhập bán kính của vòng tròn đã cho:")).
Area_of_the_circle = m.pi * Bán kính * Bán kính ..
in ("Khu vực của vòng tròn đã cho là:", area_of_the_circle).

Làm thế nào để bạn viết một phương trình vòng tròn trong Python?

r = float (đầu vào ("Nhập bán kính của vòng tròn:")).
diện tích = 3.1416 * r ..
In ("Bán kính:", r).
in ("khu vực =", khu vực).
#Output: Nhập bán kính của vòng tròn: 1.1.Bán kính: 1.1.Diện tích = 3,45576 ..

Làm thế nào để bạn in một vòng tròn trong Python?

5 r = (bán kính +. 25) ** 2 + 1 result = '' cho i trong phạm vi (đường kính): y = (i - bán kính) ** 2 cho j trong phạm vi (đường kính): x = (j - bán kính) ** 2 nếu x + y