当前位置: 首页 > news >正文

微信公众号是在哪个网站做的新东方教育机构官网

微信公众号是在哪个网站做的,新东方教育机构官网,php做的网站怎么调试,洛阳网站推广公司目录 1. 标记变量的基础类型 2. 初识对象 2.1 使用对象组织数据 3. 成员变量 3.1 类和类成员的定义 3.2 成员变量和成员方法使用 3.3 成员方法的定义语句 4. 类和对象class Clock: def ring(self): 4.1 创建类对象的语法:对象名 类名称() 4.2 用生活中的…

目录

1. 标记变量的基础类型

2. 初识对象

2.1 使用对象组织数据

3. 成员变量

3.1 类和类成员的定义

3.2 成员变量和成员方法使用

3.3 成员方法的定义语句

4. 类和对象class Clock: def ring(self):

4.1 创建类对象的语法:对象名 = 类名称()

4.2 用生活中的物件来解释对象

4.3 基于类创建对象

5. 构造方法:__init__()方法

5.1 构造方法

5.2 构造方法注意事项

6. 魔术方法:__init__ 、__str__...

6.1 __str__字符串方法:控制类转换成字符串的行为;

6.2 __lt__小于符号比较方法:对2个对象进行比较;

6.3 __le__小于等于比较符号方法:对2个对象进行比较;

6.4 __eq__,比较运算符实现方法,判断对象的值是否相等;


1. 标记变量的基础类型

方便了解变量的基础类型;

语法:变量: 类型

# 基础数据类型注解
var_1: int = 10
var_2: float = 3.55
var_3: bool = True
var_4: str = "zhangSan"class Student:pass# 类对象类型注解
stu: Student = Student()

2. 初识对象

2.1 使用对象组织数据

1. 在程序中设计表格:设计类(class)

class Student:name = None  #记录学生姓名

2. 在程序中打印生产表格:创建对象

# 基于类创建对象
stu_1 = Student()
stu_2 = Student()

3. 在程序中填写表格:对象属性赋值

stu_1.name ="zhangSan"  # 为学生1对象赋予名称属性值
stu_2.name ="lisi"  # 为学生2对象赋予名称属性值

4. 打印对象结果;

小结:

  • 在程序中是可以做到和生活中那样,设计表格、生产表格、填写表格的组织形式的;
  • 与程序进行对比:
    1. 在程序中设计表格:设计类(class)
    2. 在程序中打印生产表格:创建对象
    3. 在程序中填写表格:对象属性赋值

3. 成员变量

3.1 类和类成员的定义
  • 我们可以使用类去封装属性,并基于类创建出一个个的对象来使用;
  • 而类的成员一般都会有:成员变量,成员方法
  • 创建类对象的语法:对象 = 类名称()
class 类名称:  # class是关键字,表示定义一个类类的属性  # 即定义在类中的变量(成员变量)类的行为  # 即定义在类中的函数(成员方法)
3.2 成员变量和成员方法使用
  • 类中定义的属性(变量)称之为:成员变量;
  • 类中定义的行为(函数)称之为:成员方法;
class Student:name = Noneage = Nonedef say_hi(self):print(f"大家好!我是{self.name}")  # 2.self.调用成员变量stu = Student()
stu.name = "zhangSan"  # 1.成员变量的赋值
stu.say_hi()

3.3 成员方法的定义语句

1. 成员方法定义和self关键字:

  • 在类中定义成员方法和定义函数基本一致:
def 方法名(se1f,形参1,.....·,形参N):方法体
  • self关键字:self关键字是成员方法定义的时候,必须填写的;
    1. 它用来表示类对象自身的意思;
    2. 当我们使用类对象调用方法时,self会自动被python传入;
    3. 在方法内部,想要访问类的成员变量,必须使用self;

2. 类的行为:

  1. 在定义类行为时,若无传入的形参,则在相对应调用类的方法时,即可不用传递参数;
  2. 在定义类行为时,如果定义了形参,这时候在调用类的方法时,就必须传入对应的实参;
  3. 想要访问成员属性,必须使用self,但是如果是传递的参数,就可以不用,注意,self是必写的关键字,用来调用成员变量;
class Student:name = Noneage = Nonedef say_hi(self):print("大家好!")def say_hi1(self, name):print(f"大家好!我是{name}")stu = Student()
stu.say_hi()  # 调用时无需传参
stu.say_hi1("zhangSan")  # 调用时按照成员需要传递name实参

4. 类和对象class Clock: def ring(self):

  • 概念:类就是一个模板,对象就是实现类的实体;
4.1 创建类对象的语法:对象名 = 类名称()

        为什么要创建对象:因为类只是一种程序内的“设计图纸”,需要基于图纸生产实体(对象),才能正常工作,这种方式通常称为:面向对象编程;

4.2 用生活中的物件来解释对象
  • 就比如闹钟:
    1. 一个闹钟就好比一个对象;
    2. 那么对象的属性就是闹钟的价格,型号、品牌;
    3. 那么闹钟的行为就好比:闹钟响铃;
4.3 基于类创建对象

winsound类:可以让计算机发出一点声音;

# 设计一个闹钟类
class Clock:price = None  # 价格size = None  # 型号brand = None  # 品牌def ring(self):import winsoundprint("闹钟开始响铃...")winsound.Beep(2000, 1000)  # 频率,持续时间# 构建闹钟对象并让其工作,clock就是闹钟的对象
clock = Clock()
clock.price = 10
clock.size = "标准型"
clock.brand = "小米"
print(f"闹钟价格{clock.price}元,型号:{clock.size},品牌:{clock.brand}")
clock.ring()  # 闹钟响铃行为

小结:

  1. 现实世界的事物由什么组成?
    • 属性;
    • 行为;
    • 类也可以包含属性和行为,所以使用类描述现实世界事物是非常合透的;
  2. 类和对象的关系是什么?
    • 类是程序中的“设计图纸”;
    • 对象是基于图纸生产的具体实体;
  3. 什么是面向对象编程?
    • 面向对象编程就是,使用对象进行编程;
    • 即,设计类,基于类创建对象,并使用对象来完成具体的工作;

5. 构造方法:__init__()方法

  • 大致就是一个类,可以直接定义init构造方法,直接省去类的成员属性定义,而直接将成员属性定义在init中,并且在类创建时,会自动执行init构造方法,并将传入的参数自动传递给init方法使用;
5.1 构造方法

上面类的属性可以省略不写,在init中已经声明了;

Python类可以使用:_ init() _方法,称之为构造方法:

可以实现:

  • 在创建类对象(构造类)的时候,会自动执行;
  • 在创建类对象(构造类)的时候,将传入参数自动传递给init方法使用;
class Student:# name = None# age = None  省略成员属性# tel = Nonedef __init__(self, name, age, tel):  # 构建类时传入的参数会自动提供给__init__方法,并在构建类的时候__init__方法会自动执行self.name = nameself.age = ageself.tel = telprint("Stu类创建了一个对象", f"学生名是:{name}")sut = Student("zhangSan", 28, "18300000000")

5.2 构造方法注意事项
  1. 使用_ init _时,注意前后都有2个下划线;
  2. 构造方法也是成员方法,不用忘记在参数列表中提供:self关键字;
  3. 在构造方法内定义成员变量,需要使用self关键字,意思是要成为成员变量,需要用self来表示;
    def __init__(self, name, age, tel):  # 构建类时传入的参数会自动提供给__init__方法,并在构建类的时候__init__方法会自动执行self.name = nameself.age = ageself.tel = telprint("Stu类创建了一个对象", f"学生名是:{name}")

6. 魔术方法:__init__ 、__str__...

  • 概念:

    不仅仅只有这几个魔术方法,在python中有大概二三十个;

    比如说__init__ 就是python类内置的方法之一;

    这些内置的类方法,各自有各自特殊的功能,这些内置方法称为魔术方法;

    • 常见的魔术方法:
      1. __init__ :构造方法
      2. __str__ :字符串方法
      3. __lt__ :小于,大于符号比较
      4. __le__ :小于等于,大于等于符号比较
      5. __eq__ :==符号比较
  • 可以结合放在一段代码中案例;
6.1 __str__字符串方法:控制类转换成字符串的行为;

类创建时,自动执行__str__魔术方法;

class Student:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"Student类对象,name={self.name},age={self.age}"student = Student("zhangSan", 28)
print(student)
print(str(student))

6.2 __lt__小于符号比较方法:对2个对象进行比较;

同时__lt__也支持大于符号的判断,但是不支持小于等于或大于等于判断;

class Student:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"Student类对象,name={self.name},age={self.age}"def __lt__(self, other):  # 传入参数:other,另一个对象,返回值:True和Falsereturn self.age < other.agestudent = Student("zhangSan", 28)
student1 = Student("zhangSan", 30)
print(student < student1)

6.3 __le__小于等于比较符号方法:对2个对象进行比较;

同时支持大于等于判断;等于符号也可以支持;

在这里两个对象相==判断是否相等是判断两个对象的内存地址是否相等,答案会为False;而比较对象值是否相等要使用__eq__;

class Student:def __init__(self, name, age):self.name = nameself.age = agedef __le__(self, other):  # 传入参数:other,另一个对象,返回值:True和Falsereturn self.age <= other.agestudent = Student("zhangSan", 28)
student1 = Student("zhangSan", 30)
print(student <= student1)

6.4 __eq__,比较运算符实现方法,判断对象的值是否相等;
class Student:def __init__(self, name, age):self.name = nameself.age = agedef __eq__(self, other):  # 传入参数:other,另一个对象,返回值:True和Falsereturn self.age == other.agestudent = Student("zhangSan", 30)
student1 = Student("zhangSan", 30)
print(student == student1)

http://www.hkea.cn/news/201447/

相关文章:

  • 网站页脚有什么作用厦门seo哪家强
  • 东莞百度提升优化优化推广网站推荐
  • 查企业网站有哪些站长统计app软件
  • 做a高清视频在线观看网站济源新站seo关键词排名推广
  • 刚做的网站怎么搜索不出来百度seo收录软件
  • 视频拍摄app站长工具seo综合查询广告
  • 新闻单位建设网站的意义武汉seo推广优化
  • 低价网站公司软文怎么写
  • 东莞市建设公共交易中心网站百度官网首页
  • 如何建立的网站能争钱优化营商环境 助推高质量发展
  • 做百度网站营销型网站建设排名
  • 网站域名被黑国际新闻最新消息战争
  • 苏州网站开发公司济南兴田德润厉害吗网络自动推广软件
  • 广药网站建设试卷株洲最新今日头条
  • 网站建设管理考核办法微信推广平台怎么做
  • 网站新闻模块代码网络推广有哪些常见的推广方法
  • 合肥大型网站如何推广普通话
  • 高端网站制作软件怎么样推广自己的店铺和产品
  • 无障碍浏览网站怎么做关键词seo排名优化推荐
  • wordpress 247seo推广系统
  • 做深圳门户网站起什么名字好泰州seo外包公司
  • 网站视频上传怎么做百度站长平台论坛
  • wordpress农业模板下载小时seo
  • 做网站语言排名2018发帖推广哪个平台好
  • 销氪crmseo入门讲解
  • 蒙阴哪有做淘宝网站的钓鱼网站制作教程
  • 网站如何做导航条下拉菜单怎么做百度网页
  • 网站开发都做什么平台推广精准客源
  • 网站建设共享ip宁波seo搜索引擎优化
  • 学校网站建设必要性搜索引擎排名