- Daniel Arbuckle's Mastering Python
- Daniel Arbuckle
- 312字
- 2021-07-02 21:09:30
Classes
The final fundamental building block we're going to discuss in this section is classes. The word class is a synonym for category or type; in this case, it is referring to data values.
A class defines a new kind of data value by describing a set of internal data and operations for that type of data value. This is done primarily by defining a group of functions that make up the class. A special function called __init__ is used to set up the internal data for a new data value of this type, and the rest of the functions define the operations on an existing data value of this type:
class Frood: def __init__(self, age): self.age = age print("Frood initialized") def anniversary(self): self.age += 1 print("Frood is now {} years old".format(self.age)) f1 = Frood(12) f2 = Frood(97) f1.anniversary() f2.anniversary() f1.anniversary() f2.anniversary()
All the functions of a class receive a parameter called self, as shown in the preceding code example for classes. This parameter is the data value being operated on. That's different from C++ or Java because while those languages do basically the same thing, the parameter is implicit instead of being an explicit part of the function's parameter list.
Class functions, including __init__, should store and retrieve data from self when they want to manipulate the data value that they're connected to.
In the preceding example, we created a new data type called Frood and then made two separate data values of that type. Then, we used the anniversary function that we created as part of the class to modify each of them.
The output of the code example for classes is as follows:

- Java語言程序設計
- 摩登創客:與智能手機和平板電腦共舞
- MATLAB應用與實驗教程
- Django Design Patterns and Best Practices
- 深入淺出RxJS
- Getting Started with Gulp
- Java網絡編程實戰
- Frank Kane's Taming Big Data with Apache Spark and Python
- Oracle GoldenGate 12c Implementer's Guide
- C語言程序設計習題與實驗指導
- Illustrator CC平面設計實戰從入門到精通(視頻自學全彩版)
- 零基礎學Scratch 3.0編程
- RESTful Web Clients:基于超媒體的可復用客戶端
- Delphi開發典型模塊大全(修訂版)
- JavaScript前端開發基礎教程