IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> luliyu-python-day19 -> 正文阅读

[Python知识库]luliyu-python-day19

# 面向对象:   Object Oriented Programming
# 面向过程: 一步一步实现
# 面向对象: 不关心过程, 将我们要实现的目的交给对象去处理
# 对象要依赖于类 , 通过类可以创建对象
# 在python中, 我们之前学过的变量都是对象, 一切皆是对象
num = 100
name = "Python"
print(type(num)) # <class 'int'>
print(type(name)) # <class 'str'>
# 类是对象的模板, 对象是类的具体实例
# 自定义类
# class 类名(父类):
#     # 方法
class Student(object):
    # 方法 : 面向对象叫方法, 面向过程是函数
    def study(self):
        print("疯狂的学习中")
# 使用类: 实例化
# 对象名 =  类名()
s1 = Student()
print(s1)
s1.study()

定义属性和使用属性

class Student(object):
    def __init__(self):
        # 定义属性
        self.name = None
        self.score = 0
    # 方法 : 面向对象叫方法, 面向过程是函数
    def study(self):
        print(f"{self.name}疯狂的学习中, 成绩为{self.score}分")
# 使用类: 实例化
# 对象名 =  类名()
s1 = Student()
# 为对象属性赋值
s1.name = "张三"
s1.score = 89
s1.study()

s2 = Student()
# 为对象属性赋值
s2.name = "李四"
s2.score = 90
s2.study()

self 是什么

class Student(object):
    def __init__(self):
        self.name = None
        self.score = 0
    def study(self):
        print(f"{self.name}疯狂的学习中, 成绩为{self.score}分")
        print(f"self的地址是{id(self)}")
    def show(self):
        print(f"姓名: {self.name}, 分数: {self.score}")
# 哪个对象被调用, self就是那个对象
s1 = Student()
s1.name = "张三"
s1.score = 89
s1.study()
print("id(s1) = ", id(s1))
s2 = Student()
s2.name = "李四"
s2.score = 90
s2.study()
print("id(s2) = ", id(s2))
s3 = s2
print("id(s3) = ", id(s3))

构造函数

# 构造函数 __init__()方法: 当这个类被实例化时会自动调用: 一般用于初始化属性
class Student(object):
    def __init__(self, name, score, gender="女"):
        # print("__init__被调用")
        self.name = name
        self.score = score
        self.gender = gender
        self.money = None
    def study(self):
        print(f"{self.name}疯狂的学习中, 成绩为{self.score}分, 性别{self.gender}")
# s1 = Student()
# s1.name = "张三"
# s1.score = 89
# s1.study()
# 创建对象的同时就将属性初始化好
s1 = Student("张三", 100)
s1.study()
s2 = Student("李四", 100)
s2.study()
s3 = Student("王五", 33, "男")
s3.study()

from math import pi
class Circle(object):
    def __init__(self, radius=1):
        self.radius = radius
    def getPerimeter(self):
        return self.radius*2*pi
    def getArea(self):
        return self.radius**2*pi
circle1 = Circle()
print(circle1.radius)
print(circle1.getPerimeter())
print(circle1.getArea())

__str__和属性私有

class Student(object):
    def __init__(self, name, score, gender="女"):
        # print("__init__被调用")
        self.name = name
        self.score = score
        self.gender = gender
        # 属性私有化
        self.__nick_name = "小小"

    def study(self):
        print(f"{self.name}疯狂的学习中, 成绩为{self.score}分, 性别{self.gender}")
    def __str__(self):
        return f"姓名 {self.name}, 成绩{self.score}"
s1 = Student("张三", 100)
s2 = Student("李四", 100)
# print(s1.__nick_name)
print(s1)
print(s2)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-10 12:21:06  更:2021-11-10 12:22:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/30 4:30:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码