1, Summary
-
attribute
-
Class attribute (field): variables directly defined in a class are class attributes, which are defined by 'class.' Mode of use
-
Object attribute: take 'self Attribute name = value 'is defined in__ init__ Method
-
Default values for object properties:
-
Self: point to whoever calls it, so you can directly use self as an object in the object
-
Selection of method:
1) Object method: if an object (or object attribute) is required to implement the function function, the object method is used
2) Class method: when the object (or object attribute) is not required to realize the function
3) Static methods: neither classes nor objects are required
-
-
inherit
-
Inheritance: let the subclass have the properties and methods of the parent class (subclass: inheritor; parent: inheritee, also known as superclass)
-
Syntax: class name (parent class list):
Class description document
Content of class
(if the parent class is not written when defining a class, the name class inherits py's base class object by default) -
Add content to subclass:
1) Add class properties and methods: define new properties and methods directly in subclasses
2) Add object properties: -
super(). Init (parent parameter): add super to the subclass to obtain the object attributes in the parent class
-
Multiple inheritance can inherit all methods and class properties of all parent classes, and can only inherit the object properties of the first parent class
-
-
json
- json: is a general data format, which is mainly used for effective data communication between different languages
- Requirement: a json has only one data; The only data must be of the type supported by json (number, string, Boolean, null, array, dictionary)
(numbers: write directly and support scientific counting)
String: only double quotation marks can be used, and escape characters are supported
Boolean value: only true and false, both in lowercase
Null value: null
Array: a list equivalent to py, [element 1, element 2,...]
Dictionary: the dictionary equivalent to py, but the key can only be a string) - Conversion between py and json data: (after importing the module)
1)json to python:
json python
Numeric int, float
String str
Boolean lowercase to uppercase
Null value None
Array list
Dictionary dict
2)python to json:
Basically, on the contrary, pay attention to case and single and double quotation marks. One more tuple can also be converted into an array of json - json module:
- json.loads(json format string) - convert the JSON data corresponding to the JSON format string into the corresponding python data. There is no JSON error in the brackets
- json.dumps(python data) - converts python data to JSON format strings
2, Homework
-
Define a dog and a human:
Dog ownership attributes: name, sex and breed ownership method: call
Human ownership attributes: name, age, dog ownership method: walking the dog
class Dog: def __init__(self, name, sex, breed): self.name = name self.sex = sex self.breed = breed def call(self): print(f'{self.name}It's a{self.sex}of{self.breed},It's calling') class Human: def __init__(self, name1, age, dog): self.name1 = name1 self.age = age self.dog = dog def play(self): print(f'{self.name1}this year{self.age}Years old, he has one{self.dog},He is walking the dog') a = Dog('chinese rhubarb', 'male', 'Golden hair') a.call() b = Human('jack', 18, '') b.play()
-
Define a rectangle class with attributes: length and width. Methods: calculate perimeter and area
class Rectangle: def __init__(self, long, wide): self.long = long self.wide = wide def area(self): return self.long * self.wide def perimeter(self): return (self.long + self.wide) * 2 result1 = Rectangle(5, 2) result2 = Rectangle(5, 4) print(result1.area()) print(result2.perimeter())
-
Define a two-dimensional point class with attributes: x coordinate and y coordinate. Method: find the distance from the current point to another point
class Point: def __init__(self, x, y): self.x = x self.y = y def distance(self, o): return ((self.x - o.x) ** 2 + (self.y - o.y) ** 2) ** 0.5 p1 = Point(0, 9) # x,y p2 = Point(0, 5) print(p1.distance(p2))
-
Define a circle class with attributes: radius and center. Methods: find the circumference and area of the circle, and judge whether the current circle and another circle are circumscribed
class Circle: Pi = 3.14 def __init__(self, r, x, y): self.r = r self.x = x self.y = y def area(self): return Circle.Pi * self.r ** 2 def perimeter(self): return Circle.Pi * self.r * 2 def exterior_contact(self, b): if ((self.x - b.x) ** 2 + (self.y - b.y) ** 2) ** 0.5 == self.r + b.r: return "Circumscribe two circles" else: return 'Two circles are not circumscribed' yuan1 = Circle(7, 4, 7) yuan2 = Circle(5, 0, -5) print(yuan1.exterior_contact(yuan2)) print(yuan1.area()) print(yuan1.perimeter()) print(yuan2.area()) print(yuan2.perimeter())
-
Define a segment class, with attributes: start point and end point, and method: obtain the length of the segment
class Segment: def __init__(self, start, end): self.start = start self.end = end def length(self): return abs(self.end - self.start) a1 = Segment(-2, -9) print(a1.length())