学习两小时

学了什么?

自己跟着打了一个折线图 剩下的地图和柱状图直接跳过了

开始学习面向对象的一些东西 以下是笔记

创建类  
类相当于一个提供了空白属性的表格
对象就是 一个人把自己的信息填入表格当中 每个人都可以填
类相当于 机器人图纸/流程图纸   分别对应的是 物/事  都有属性和行为
需要机器人图纸才能生产机器人  而机器人图纸不止一种
需要流程图纸才能完成事情   
设计类 通过类创建具体的对象 让对象干活 就是面向对象编程

```python
class student: # 经典学生
    name = None
    gender = None
    age = None

stu_1 = Student() # 学生对象
stu_1.name = "绵绵"
stu_1.gender = "女"
stu_1.age = 1.5

print(stu_1.name)
print(stu_1.gender)
print(stu_1.age)
```
 


类外部称为函数 类内部称为方法

```python
class student:
    name = None   # 成员变量
    def whoiam(self): # 成员方法
        print(f"我是{self.name}") # 成员方法要使用成员变量必须用self.name调用
    def say_hi(self,msg):
        print(f"我是{self.name},{msg}")
        
stu = student()
stu.name = "绵绵"
stu.whoiam()    # 我是绵绵
stu.say_hi("大家好") # 我是绵绵,大家好
```

传参时要忽略self 

#### 构造方法

```python
class student:
    name = None # 可以省略
    age = None
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
        print("已经生成对象")

stu = student("绵绵",1)

```
#### 其他内置方法 称之为魔术方法

##### 字符串方法
![[Pasted image 20250916220830.png]]
```python
class student:
    name = None # 可以省略
    age = None
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
        print("已经生成对象")
    def __str__(self):
        return self.name,self.age   

stu = student("绵绵",1)
print(stu)   # 如果没有__str__则输出的是地址 没什么用    有的话就是字符串
print(str(stu)) # 如果没有__str__则输出的是地址 没什么用
```

##### 小于符号比较方法、
```python
class student:
    name = None # 可以省略
    age = None
    
    def __init__(self,name,age):
        self.name = name
        self.age = age
        print("已经生成对象")

stu = student("绵绵",1)

```

更多推荐