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

毕业设计心理评测网站开发高密专业网站建设价格

毕业设计心理评测网站开发,高密专业网站建设价格,网站建设方案书是啥,门户网站建设注意事项合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、面向对象 ⭐️ (一)类和实例 🍭 1、类的定义 🍉 类的定义: &am…

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、面向对象 ⭐️

(一)类和实例 🍭

1、类的定义 🍉

类的定义: 🦋

  • class:表明这是一个类。
  • ClassName:类的名字。
  • ():父类集合的开始和结束。
  • object:父类的名字,定义的类继承自父类,可以不写,默认是object。object是所有类的直接或间接父类。
class ClassName(object):<statement-1>...<statement-N>
2、类的实例化(创建对象) 🍉

实例名 = 类() 的方式实例化对象,为类创建一个实例

举例: 🌰

# 定义一个名为 Player 的类,继承自基类 object(Python 中所有类的默认基类)
class Player(object):  # object 基类pass  # 使用 pass 表示这是一个空类,暂无属性和方法定义# 创建 Player 类的实例(对象),命名为 tom
tom = Player()  # 类的实例化(创建对象)# 打印 tom 对象的类型(输出其所属的类)
print(type(tom))  # 输出:<class '__main__.Player'># 检查 tom 是否是 Player 类的实例,返回布尔值(True/False)
print(isinstance(tom, Player))  # 输出:True# 检查 tom 是否是 object 类的实例(因为所有类都继承自 object)
print(isinstance(tom, object))  # 输出:True

输出结果: 👇🏻

<class '__main__.Player'>
True
True
3、实例(对象)属性 🍉

Python中,实例(Instance)就是对象(Object)。

举例: 🌰

# 定义一个名为Player的类,继承自object基类(Python3中所有类默认继承object,可省略)
class Player(object):# 定义初始化方法(构造函数),在创建对象时自动调用# 参数说明:self指实例本身,name/age/city是创建对象时必须传入的参数def __init__(self, name, age, city):  # 初始化函数(构造函数)# 将传入的参数赋值给实例属性self.name = name  # 创建name属性并赋值self.age = age    # 创建age属性并赋值self.city = city  # 创建city属性并赋值# 创建Player类的实例mia,传入初始化参数
mia = Player('mia', 18, '上海')  # 实例化对象,name='mia', age=18, city='上海'# 修改mia实例的city属性
mia.city = '重庆'  # 将city属性从'上海'改为'重庆'# 打印mia实例的name、age和city属性
print(mia.name, mia.age, mia.city)  # 输出:mia 18 重庆# 创建另一个Player类的实例tom
tom = Player('tom', 19, '成都')  # 实例化对象,name='tom', age=19, city='成都'# 打印tom实例的name、age和city属性
print(tom.name, tom.age, tom.city)  # 输出:tom 19 成都# 给tom实例动态添加height属性(Python允许给实例动态添加新属性)
tom.height = 180  # 添加height属性并赋值为180# 打印tom实例的所有属性和值(以字典形式返回)
print(tom.__dict__)  # 输出:{'name': 'tom', 'age': 19, 'city': '成都', 'height': 180}

输出结果: 👇🏻

mia 18 重庆
tom 19 成都
{'name': 'tom', 'age': 19, 'city': '成都', 'height': 180}
4、类属性 🍉

举例: 🌰

# 定义一个名为Player的类,继承自object基类
class Player(object):# 类属性(所有实例共享)numbers = 0  # 类属性(一般用于统计或共享)def __init__(self, name, age, city):  # 初始化函数(构造函数)# 实例属性(每个实例独有的属性)self.name = name  # 实例属性:玩家姓名self.age = age    # 实例属性:玩家年龄self.city = city  # 实例属性:玩家城市# 每创建一个实例,类属性numbers加1Player.numbers += 1  # 修改类属性,统计玩家数量# 创建第一个Player实例mia
mia = Player('mia', 18, '上海')  # 实例化,触发__init__方法# 打印mia实例的所有实例属性(以字典形式)
print(mia.__dict__)  # 输出:{'name': 'mia', 'age': 18, 'city': '上海'}# 打印当前玩家数量(通过类属性访问)
print('欢迎第 %d 个玩家注册!' % Player.numbers)  # 输出:欢迎第 1 个玩家注册!# 创建第二个Player实例tom
tom = Player('tom', 19, '成都')  # 实例化,触发__init__方法# 打印tom实例的所有实例属性
print(tom.__dict__)  # 输出:{'name': 'tom', 'age': 19, 'city': '成都'}# 再次打印当前玩家数量(此时已增加为2)
print('欢迎第 %d 个玩家注册!' % Player.numbers)  # 输出:欢迎第 2 个玩家注册!

输出结果: 👇🏻

{'name': 'mia', 'age': 18, 'city': '上海'}
欢迎第 1 个玩家注册!
{'name': 'tom', 'age': 19, 'city': '成都'}
欢迎第 2 个玩家注册!

(二)实例(对象)方法 🍭

举例: 🌰

# 定义一个Player类,继承自object基类(Python3中可省略)
class Player(object):# 类属性(所有实例共享)numbers = 0  # 用于统计玩家总数levels = ['青铜','白银','黄金','钻石','王者']  # 所有可能的段位等级def __init__(self, name, age, city, level):  # 初始化方法(构造函数)# 实例属性(每个玩家独有的属性)self.name = name  # 玩家姓名self.age = age    # 玩家年龄self.city = city  # 玩家所在城市# 验证传入的段位是否合法if level not in Player.levels:raise Exception('段位设置错误!')  # 如果段位不在预设列表中,抛出异常else:self.level = level  # 如果合法,设置玩家段位Player.numbers += 1  # 每创建一个玩家实例,总数加1def show(self):  # 实例方法:显示玩家信息# 格式化输出玩家信息print('我是第 %d 个玩家,我的名字是 %s,%d 岁,我来自 %s,我的段位是 %s' % (Player.numbers, self.name, self.age, self.city, self.level))def level_up(self):  # 实例方法:段位升级index1 = Player.levels.index(self.level)  # 获取当前段位的索引if index1 < len(Player.levels) - 1:  # 如果不是最高段位self.level = Player.levels[index1 + 1]  # 升级到下一个段位# 创建一个Player实例mia
mia = Player('mia',18,'成都','钻石')  # 实例化一个钻石段位的玩家# 调用show方法显示mia的信息
mia.show()  # 输出:我是第1个玩家...# 调用level_up方法让mia升级段位
mia.level_up()  # 钻石→王者# 再次显示mia的信息(段位已升级)
mia.show()  # 输出:我是第1个玩家...段位是王者

输出结果: 👇🏻

我是第 1 个玩家,我的名字是 mia,18 岁,我来自 成都,我的段位是 钻石
我是第 1 个玩家,我的名字是 mia,18 岁,我来自 成都,我的段位是 王者

(三)类方法 🍭

举例: 🌰

# 定义一个Player类,继承自object基类(Python3中可省略)
class Player(object):# 类属性(所有实例共享)numbers = 0  # 用于统计玩家总数levels = ['青铜', '白银', '黄金', '钻石', '王者']  # 所有可能的段位等级def __init__(self, name, age, city, level):  # 初始化方法(构造函数)# 实例属性(每个玩家独有的属性)self.name = name  # 玩家姓名self.age = age  # 玩家年龄self.city = city  # 玩家所在城市# 验证传入的段位是否合法if level not in Player.levels:raise Exception('段位设置错误!')  # 如果段位不在预设列表中,抛出异常else:self.level = level  # 如果合法,设置玩家段位Player.numbers += 1  # 每创建一个玩家实例,总数加1def show(self):  # 实例方法:显示玩家信息# 格式化输出玩家信息print('我是第 %d 个玩家,我的名字是 %s,%d 岁,我来自 %s,我的段位是 %s' %(Player.numbers, self.name, self.age, self.city, self.level))@classmethod  # 装饰器,声明这是一个类方法def get_players(cls):  # 类方法# cls参数会自动传入当前类(这里是Player)print('用户数量已经达到了 %d 人' % cls.numbers)  # 访问类属性numbers# 创建一个Player实例mia
mia = Player('mia', 18, '上海','青铜')  # 实例化一个青铜段位的玩家# 调用实例方法show()显示mia的信息
mia.show()  # 输出:我是第1个玩家...# 调用类方法get_players()显示当前玩家总数
Player.get_players()  # 输出:用户数量已经达到了1人

输出结果: 👇🏻

我是第 1 个玩家,我的名字是 mia,18 岁,我来自 上海,我的段位是 青铜
用户数量已经达到了 1

(四)静态方法 🍭

举例: 🌰

# 定义一个Player类,继承自object基类(Python3中可省略)
class Player(object):# 类属性(所有实例共享)numbers = 0  # 用于统计玩家总数levels = ['青铜', '白银', '黄金', '钻石', '王者']  # 所有可能的段位等级def __init__(self, name, age, city, level):  # 初始化方法(构造函数)# 实例属性(每个玩家独有的属性)self.name = name  # 玩家姓名self.age = age  # 玩家年龄self.city = city  # 玩家所在城市# 验证传入的段位是否合法if level not in Player.levels:raise Exception('段位设置错误!')  # 如果段位不在预设列表中,抛出异常else:self.level = level  # 如果合法,设置玩家段位Player.numbers += 1  # 每创建一个玩家实例,总数加1def show(self):  # 实例方法:显示玩家信息# 格式化输出玩家信息print('我是第 %d 个玩家,我的名字是 %s,%d 岁,我来自 %s,我的段位是 %s' %(Player.numbers, self.name, self.age, self.city, self.level))@classmethod  # 装饰器,声明这是一个类方法def get_players(cls):  # 类方法# cls参数会自动传入当前类(这里是Player)print('用户数量已经达到了 %d 人' % cls.numbers)  # 访问类属性numbers@staticmethod  # 装饰器,声明这是一个静态方法def isvalid(**kwargs):  # 静态方法:验证玩家信息是否有效# 检查年龄是否大于18岁if kwargs['age'] > 18:  # 如果年龄大于18return True  # 返回验证通过else:return False  # 返回验证不通过# 创建玩家信息字典
infos = {'name':'mia','age':12,'city':'北京','level':'白银'}# 使用静态方法验证玩家信息
if Player.isvalid(**infos):  # 如果验证通过(这里age=12会返回False)mia = Player('mia',24,'北京','白银')  # 创建玩家实例
else:print('请检查')  # 输出提示信息(实际会执行这行)

输出结果: 👇🏻

请检查

(五)面向对象的三大特征 🍭

1、继承 🍓

举例: 🌰

class Character:  # 父类:游戏角色基类def __init__(self, name, hp):self.name = nameself.hp = hp  # 生命值def attack(self):print(f"{self.name} 发动了普通攻击!")class Warrior(Character):  # 子类:战士(继承Character)def __init__(self, name, hp, strength):super().__init__(name, hp)  # 调用父类的初始化方法self.strength = strength  # 新增属性:力量# 重写父类方法def attack(self):print(f"{self.name} 用剑造成 {self.strength} 点伤害!")class Mage(Character):  # 子类:法师(继承Character)def __init__(self, name, hp, magic_power):super().__init__(name, hp)self.magic_power = magic_power  # 新增属性:法力值# 新增子类特有方法def cast_spell(self):print(f"{self.name} 施放法术,消耗 {self.magic_power} 点法力!")# 使用
warrior = Warrior("亚瑟", 100, 15)
mage = Mage("梅林", 80, 30)warrior.attack()  # 输出:亚瑟 用剑造成 15 点伤害!
mage.attack()     # 输出:梅林 发动了普通攻击!(未重写时继承父类方法)
mage.cast_spell() # 输出:梅林 施放法术,消耗 30 点法力!

输出结果: 👇🏻

亚瑟 用剑造成 15 点伤害!
梅林 发动了普通攻击!
梅林 施放法术,消耗 30 点法力!
2、多态 🍓

多态的核心是:📚

  • 同一方法名:不同类可以有相同名称的方法。
  • 不同实现:每个类根据自己的需求实现该方法的不同行为。
  • 统一调用:通过父类引用调用方法,实际执行的是子类的方法。

举例: 🌰

class Animal:  # 父类def make_sound(self):pass  # 抽象方法(Python中没有真正的抽象方法,这里用pass占位)class Dog(Animal):def make_sound(self):  # 重写父类方法print("汪汪汪!")class Cat(Animal):def make_sound(self):  # 重写父类方法print("喵喵喵!")class Duck(Animal):def make_sound(self):  # 重写父类方法print("嘎嘎嘎!")# 多态的统一调用
def animal_sound(animal: Animal):animal.make_sound()  # 调用的是实际子类的方法# 使用
dog = Dog()
cat = Cat()
duck = Duck()animal_sound(dog)   # 输出:汪汪汪!
animal_sound(cat)   # 输出:喵喵喵!
animal_sound(duck)  # 输出:嘎嘎嘎!

输出结果: 👇🏻

汪汪汪!
喵喵喵!
嘎嘎嘎!
3、封装 🍓

举例: 🌰

class BankAccount:def __init__(self, account_holder, initial_balance):# 使用单下划线前缀表示"受保护"的属性(约定俗成,非强制)self._account_holder = account_holder  # 双下划线前缀会使Python进行名称修饰(name mangling),实现"私有"效果self.__balance = initial_balance     # 公开的接口方法def deposit(self, amount):if amount > 0:self.__balance += amountprint(f"存款成功,当前余额: {self.__balance}")else:print("存款金额必须大于0")def withdraw(self, amount):if 0 < amount <= self.__balance:self.__balance -= amountprint(f"取款成功,当前余额: {self.__balance}")else:print("无效的取款金额")def get_balance(self):return self.__balance# 使用示例
account = BankAccount("张三", 1000)
account.deposit(500)      # 存款成功,当前余额: 1500
account.withdraw(200)     # 取款成功,当前余额: 1300
print(account.get_balance())  # 1300# 尝试直接访问私有属性(不建议这样做)
print(account._BankAccount__balance)  # 1300(通过名称修饰仍可访问)

输出结果: 👇🏻

存款成功,当前余额: 1500
取款成功,当前余额: 1300
1300
1300

在这里插入图片描述

http://www.dtcms.com/a/459195.html

相关文章:

  • 珠宝销售网站源码wordpress网站如何添加栏目
  • 深圳龙华网站开发手游代理平台哪个好
  • 江苏专业做网站的公司有哪些百度seo排名优化联系方式
  • 如何做网站搜索栏网站建设流程方案
  • 学校网站系统破解版中国企业网
  • 微信公众号自己微网站吗有哪些可以做兼职的翻译网站
  • 精品课程网站建设步骤培训网站开发需求说明书
  • 小型网站制作深圳wordpress前端新增头像上传
  • 优秀国外网站设计赏析网站怎样做全国地区推广
  • 淘宝网站那个做的营销型网站建立
  • 徐州祥云做网站网络营销公司如何建立
  • 公司网站首页模板网站改版专题页
  • 桂林市生活网官方网站普陀网页设计
  • 网站无障碍建设百度seo权重
  • 免费电商网站建设平台php做网站首页的代码
  • 免费域名做网站遵义在线新闻中心
  • 微网站开发平台免费wordpress 使用ip访问
  • 一_建设网站前的市场分析做外贸学习网站
  • 上饶网站建设公司国家职业证书查询网入口
  • 潜江建设网站用人名做网站域名
  • 第五步:解决跨域问题,返回 token,校验token, 并定义将接收的参数全局存储的方法
  • 福建城建设厅官方网站秦皇岛信息平台
  • 云主机做网站网页制作软件ai
  • 网站建设科目做网站维护价格
  • 猎头公司应坚持的原则有seo推广公司网站模板
  • 营销型网站用什么模版合适陈幼坚设计公司官网
  • 工作室网站源码php学网页设计哪个培训学校好
  • seo网站设计就业前景wordpress sydney
  • 宝应做网站汕头小程序开发
  • 沈阳做网站公司哪家好网站开发遵循的原则