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

链接测试对于网站的意义广告公司图片

链接测试对于网站的意义,广告公司图片,空间设计图片,网站建设公司怎么运营私有和公有 在python中 定义类的时候,可以给 属性和方法设置 访问权限,即规定在什么地方可以使用。 权限一般分为两种:公有权限、私有权限 公有权限 定义:直接定义的属性和方法就是公有的特点: 可以在任何地方访问和使…
  • 私有和公有

在python中 定义类的时候,可以给 属性和方法设置 访问权限,即规定在什么地方可以使用。
权限一般分为两种:公有权限、私有权限

  • 公有权限
  • 定义:直接定义的属性和方法就是公有的
  • 特点: 可以在任何地方访问和使用,只要有对象就可以访问和使用。
  • 私有权限
  • 定义:
    1、只能在类内部定义(class 关键字的缩进中
    2、只需要在属性名 或者方法名 前边 加上两个下划线,这个方法或者属性就变成了私有的。
  • 特点:私有 只能在当前类的内部使用,不能在类外部和子类直接使用。
  • 应用场景:一般来说,定义的属性和方法都为公有的。 某个属性 不想在外部直接使用,定义为私有; 某个方法,是内部的方法(不想在外部使用),定义为私有。
"""定义人类,name 属性 ,age 属性(私有)"""
class Person:def __init__(self, name, age):     # 公有方法self.name = name    # 公有self.__age = age    # 公有 --> 私有,在属性名前加上两个下划线。def __str__(self):     # 公有方法return f'{self.name}, {self.__age}'def set_age(self, age):      # 定义公有方法,修改私有属性if age < 0 or age > 120:print('提供的年龄信息不对。')returnself.__age = ageif __name__ == '__main__':xw = Person('小王', 18)print(xw)    # 小王, 18xw.__age = 1000    # 添加一个公有 属性 __ageprint(xw)   # 小王, 18xw.set_age(110)print(xw)    # 小王, 110
  • 对象分类

python 中一切皆对象

  • 对象分类

类对象 就是类
代码执行的时候,解释器会自动创建
作用:

  • 1、使用类对象创建 实例对象
  • 2、存储一些类的特征值(类属性)
  • 实例对象

1、创建对象也称为实例化,所以 由类对象(类)创建的对象 称为是实例对象,简称实例。
2、一般来说,没有特殊强调,我们所说的对象 都是指 实例对象(实例)
3、实例对象也可以保存实例特征值(实例属性)
4、就是使用 类名()创建的对象。

  • 属性的划分

使用 实例对象.属性 访问属性 的时候,会先在 实例属性中查找,如果找不到,去类属性中查找,找到就使用,找不到就报错。
即 :每个实例对象 都有可能访问类属性值(前提,实例属性和类属性不重名。)

  • 实例属性
  • 概念:
    是每个实例对象 具有的特征(属性)。每个实例对象的特征
  • 定义:
    一般都是 在 init 方法中,使用 self.属性名 = 属性值 来定义。
  • 特征(内存):
    每个实例对象 都会保存自己的实例属性,即 内存中存在多份
  • 访问和修改:
    # 可以认为是通过 self
    实例对象.属性 = 属性值 # 修改
    实例对象.属性 # 访问
  • 类属性
  • 概念:
    是类对象具有的 特征,是整个类的特征
  • 定义:
    一般都是 在类的内部( class 缩进中),方法的外部 (def 的缩进外部) 定义的变量
  • 特征(内存):
    只有类对象保存的一份,即在内存中只有一个。
  • 访问和修改:
    # 即通过类名
    类对象.属性 = 属性值
    类对象.属性
  • 什么时候定义类属性?

代码中 使用的属性 基本上都是 实例属性,即都通过 self 定义。
某个属性值描述的信息是整个类的特征(这个值变动,所有的这个类的对象这个特征都会发生变化)

  • 案例

在这里插入图片描述

# 1. 定义一个 工具类
# 2. 每件工具都有自己的 name
# 3. 需求 —— 知道使用这个类,创建了多少个工具对象?class Tool:# 定义类属性 count,记录创建对象的个数count = 0def __init__(self, name):self.name = name    # 实例属性,工具的名字# 修改类属性的值Tool.count += 1  # 类名.属性 = 属性值if __name__ == '__main__':# 查看 创建对象的个数print(Tool.count)  # 0 查看类.属性tool1 = Tool('锤子')print(Tool.count)  # 1tool2 = Tool('扳手')print(Tool.count)   # 2print(tool2.count)   # 2  先找实例属性 count,找不到,找类属性 count,找到 ,使用。
  • 方法的划分

  • 实例方法

  • 定义时机:
    如果方法中 需要使用 实例属性,则这个方法 必须 定义为 实例方法
  • 定义:
    直接定义的方法就是实例方法
class 类名:def 方法名(self):pass
  • 参数:
    参数一般写做 self,表示的是 实例对象。
  • 调用:
    实例对象.方法名()
  • 类方法
  • 定义时机:
    如果方法中 不需要使用 实例属性,但需要使用 类属性,则这个方法 可以 定义为 类方法(建议)
  • 定义:
    定义类方法,需要在方法名上方 书写 @classmethod, 即使用@classmethod 装饰器装饰
class 类名:@classmethoddef 方法名(cls):pass
  • 参数:
    参数一般写做 cls ,表示类对象,即类名,同样不需要手动传递,Python 解释器会自动传递。
  • 调用:
    # 方法一
    类名.方法名()
    # 方法二
    实例对象.方法名()
  • 静态方法(了解)
  • 定义时机:
    方法中 既不需要使用 实例属性,也不需要使用 类属性,可以将这个方法定义为 静态方法。
  • 定义:
    定义静态方法,需要使用 装饰器吧 @staticmethod 装饰方法。
class 类名:@staticmethoddef 方法名():pass
  • 参数
    静态方法 一般对参数没有要求,一般不写
  • 调用:
    # 方法一
    类名.方法名()
    # 方法二
    实例对象.方法名()
  • 类方法实例
# 1. 定义一个 工具类
# 2. 每件工具都有自己的 name
# 3. 需求 —— 知道使用这个类,创建了多少个工具对象?class Tool:# 定义类属性 count,记录创建对象的个数count = 0def __init__(self, name):self.name = name    # 实例属性,工具的名字# 修改类属性的值Tool.count += 1  # 类名.属性 = 属性值@classmethoddef show_tool_count(cls):   # cls 就是类对象,类名return cls.countif __name__ == '__main__':# 查看 创建对象的个数print(Tool.show_tool_count())tool1 = Tool('锤子')print(Tool.show_tool_count())  # 通过类对象.方法名() 调用tool2 = Tool('扳手')print(tool2.show_tool_count())  # 通过实例对象.方法名()调用
  • 案例一
# 需求:
# 1. 设计一个 Game 类
# 2. 属性:
# • 定义一个 top_score 类属性 -> 记录游戏的历史最高分
# • 定义一个 player_name 实例属性 -> 记录当前游戏的玩家姓名
# 3. 方法:
# • 静态方法 show_help() -> 显示游戏帮助信息
# • 类方法 show_top_score() -> 显示历史最高分
# • 实例方法 start_game() -> 开始当前玩家的游戏
# - ① 使用随机数 生成 10-100 之间数字 作为本次游戏的得分
# - ② 打印本次游戏得分 : 玩家 xxx 本次游戏得分 ooo
# - ② 和历史最高分进行比较, 如果比历史最高分高, 修改历史最高分
# 4. 主程序步骤: main
# 1 查看帮助信息
# 2 查看历史最高分
# 3 创建游戏对象,开始游戏
# 4 再一次游戏
import random
class Game:"""类名: Game属性:top_score = 0 类属性  ,保存历史最高分player_name 实例属性  定义在  init 中方法:"""top_score = 0def __init__(self, play_name):self.play_name = play_name   # 实例属性# 静态方法@staticmethoddef show_help():print('这是游戏的帮助信息')# 类方法@classmethoddef show_top_score(cls):# 类方法 show_top_score() -> 显示历史最高分print(f'历史最高分为: {cls.top_score}')# return Game.top_score  # 类名.属性名def start_game(self):print(f'玩家{self.play_name}开始游戏')score = random.randint(10, 100)print(f'玩家 {self.play_name} 本次游戏得分 {score}')if score > Game.top_score:Game.top_score = scoreif __name__ == '__main__':Game.show_help()Game.show_top_score()player = Game('小明')player.start_game()Game.show_top_score()player = Game('小明')player.start_game()Game.show_top_score()
http://www.ds6.com.cn/news/14588.html

相关文章:

  • 做钓鱼网站盗游戏号会被判刑吗宁波seo快速排名
  • 网站建设公司 上营销策略分析包括哪些内容
  • 查看网站是否做百度推广如何制作网页最简单的方法
  • 做飞机票的图片的网站职业技能培训
  • 如何改善网站网站自然优化
  • 湖北省建设厅招骋网站电商seo是什么
  • 天津企业做网站哈尔滨最新疫情
  • angularjs 做电商网站网站开发与设计
  • 做网站开发用哪种语言好深圳网络推广外包公司
  • wordpress导购页面泉州关键词优化排名
  • 房屋出租网站模板教育培训网站模板
  • 专业开发网站设计域名注册查询系统
  • 这种资源网站怎么做才赚钱视频外链工具
  • phpcms可以做网站吗万网域名查询接口
  • 手机网站怎么做沉浸式上海网络推广联盟
  • 公司网站建设有什么好处网络推广员岗位职责
  • 滨海专业做网站的公司百度搜索风云榜排行榜
  • 同一个服务器做两个网站seo关键词排名查询
  • 做网站要自己租服务器网店代运营诈骗
  • 发布文章后马上更新网站主页广州做seo公司
  • 杭州企业建设网站企业网赌怎么推广拉客户
  • 深圳网站建设公司网站开发软件有哪些
  • 本地常州微信网站建设关键词seo优化
  • 网站开发 印花税广州seo网站推广公司
  • 阿里巴巴网站建设哪家好网络营销推广方法
  • 佛山网站seo搜狗seo怎么做
  • upyun wordpress免费seo工具汇总
  • 招聘网站开发学徒百度推广电话号码
  • 河南省建设工程质监总站网站百度推广关键词
  • php做企业网站seo销售