首页 > 编程语言 >python3 class的使用

python3 class的使用

时间:2024-10-22 16:23:39浏览次数:6  
标签:__ .__ self age 使用 print class python3

 1. class 的使用和定义

#!/usr/bin/python3
 
class JustCounter:
    __secretCount = 0  # 私有变量
    publicCount = 0    # 公开变量
 
    def count(self):
        self.__secretCount += 1
        self.publicCount += 1
        print (self.__secretCount)
 
counter = JustCounter()
counter.count()
counter.count()
print (counter.publicCount)
print (counter.__secretCount)  # 报错,实例不能访问私有变量
$ ./1_class.py
1
2
2
Traceback (most recent call last):
  File "./1_class.py", line 16, in <module>
    print (counter.__secretCount)  # 报错,实例不能访问私有变量
AttributeError: 'JustCounter' object has no attribute '__secretCount'

2. 使用__init__() 为对象设置初始值

#!/usr/bin/python3

#类定义
class people:
    #定义基本属性,这里可以省略,在__init__()中全部赋值就可以
    name = ''
    age = 0
    #定义私有属性,私有属性在类外部无法直接进行访问
    __weight = 0
    #定义构造方法
    def __init__(self,n,a,w):
        self.name = n
        self.age = a
        self.__weight = w
    def speak(self):
        print("%s 说: 我 %d 岁。" %(self.name,self.age))

# 实例化类
p = people('wwj',10,30)
p.speak()

#类外访问类的数据,不能访问p.__weight
print("name:%s, age:%d" %(p.name, p.age))
#print("weight:%d" %(p.__weight))
$ ./class_test.py
wwj 说: 我 10 岁。
name:wwj, age:10

继承

#单继承示例
class student(people):
    grade = ''
    def __init__(self,n,a,w,g):
        #调用父类的构函
        people.__init__(self,n,a,w)
        self.grade = g
    #覆写父类的方法
    def speak(self):
        print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade))

s = student('ken',10,60,3)
s.speak()

 

标签:__,.__,self,age,使用,print,class,python3
From: https://www.cnblogs.com/jyfyonghu/p/18493181

相关文章

  • 《深岩银河:幸存者》风灵月影二十七项修改器说明及使用教程
    深岩银河:幸存者是一款紧张刺激的单人生存射击游戏,玩家需驾驭银河级武器库,迎战蜂拥而至的外星怪兽,挖掘珍稀宝藏。通过挑战解锁并升级装备,增强生存能力。修改器赋予无限生命与弹药,加速射击与瞬间装填,更享100%暴击快感,让冒险之旅畅通无阻,极限挑战尽在掌握。修改器安装:https://d......
  • Ubutun18.04安装UHD+GNURadio,使用usrpB210
     安装Ubutun省略。首先,进入ubutun18.04桌面后,ctrl+alt+T进入终端,然后:更新源列表、安装各种工具及依赖库,更新源列表与已安装软件、安装常用工具:sudoaptupdatesudoaptupgradesudoaptinstallnet-toolsvimsshgitgit-guihtop安装后来cmake时需要用到的一些依赖......
  • Pandas库的基本使用
    1.认识PandasPandas库是Python的免费、开源的第三方库;Pandas是Python数据分析必不可少的工具之一;Pandas为Python提供了高性能、易于使用的数据结构:Series对象和DataFrame对象;Pandas库是基于NumPy库和Matplotlib库开发而来;Pandas实现了数据分析的五个重要环节:加载数据、整理......
  • 在iOS开发中如何使用Core Data管理数据持久化
    摘要:在iOS开发中运用CoreData管理数据持久化包括以下要点:1、掌握CoreData框架基础;2、实现数据模型的设计;3、熟悉数据存储与检索;4、利用上下文管理数据;5、数据迁移和版本控制。在这其中,数据模型的设计是核心,它影响整个应用的数据结构和未来的扩展性。数据模型设计指的是在Xcode中......
  • 使用遗传算法(遗传编程)解决强化学习问题是否可行
    看到这么一个研究课题的方向,虽然这个外国学校的排名相当于我国的211大学的水平,但是这个研究课题方向也不能说就没有意义,但是这个研究方向是否真的有研究价值也是有些不好直接下定论的。地址:https://www.dal.ca/faculty/computerscience/graduate-programs/grad-handbook/student......
  • 为什么在http协议中使用base64编码方式传输二进制文件
    相关:图解Base64实现原理并使用js实现一个简单的Base64编码器常用加密方法之Base64编解码及代码实现一直都知道在http协议中使用base64的方式传递二进制文件,虽然感觉不理解,但是也都从来没有探究过原因,今天突然看到这方面的资料,这才有了一些理解。PS:把带有图片的网页......
  • 使用Radzen Blazor组件库开发的基于ABP框架炫酷UI主题
    一、项目简介使用过ABP框架的童鞋应该知道它也自带了一款免费的BlazorUI主题,它的页面是长这样的:个人感觉不太美观,于是网上搜了很多Blazor开源组件库,发现有一款样式非常不错的组件库,名叫:Radzen,它的组件库案例网址是:SampleBlazorDashboard|FreeUIComponentsbyRadzen,比较......
  • Linux系统上使用nmcli命令配置各种网络
    目录一、配置NetworkManager接管网络(选)安装Network-Manager并启动netplan管理网络的系统ifupdown管理网络的系统二、nmcli的相关配置(后置参数均可缩写)有线网络配置使用nmcli添加一个网卡并配置静态ip地址激活/关闭网卡使用nmcli修改一个网卡的地址使用nmcli添加一个网卡......
  • Go语言中的反射和接口如何使用
    #Go语言中的反射和接口如何使用在Go语言中,反射和接口是两个强大的特性,它们在开发过程中发挥着不可或缺的作用。反射允许程序在运行时检查其自身结构,包括类型、字段、方法等,这使得Go语言具有更高的灵活性和动态性。而接口则定义了一个对象的行为规范,通过它可以实现多态和依赖倒......
  • 使用PIC单片机驱动OLED模块(软件模拟IIC模式)
    @使用PIC单片机驱动OLED模块(软件模拟IIC模式)使用PIC单片机驱动OLED模块(软件模拟IIC模式)最近学习Microchhip的PIC18系列单片机,使用该款单片机进行一些外设的开发。发现网上的资料很少,故开了此个博客,对自己的学习过程进行一些记录,希望未来国内Microchip的社区能有更多的资源......