类的属性与实例化

  • 属性就是对类和对象特征的描述,外部以属性来区分不同的类,类具有数据属性和方法。而由类创建出来的实例-对象,具有它所属的类的数据属性和方法。
  • 例如,书本是一个类,它具有作者、书名、出版社等数据属性,它还具有销售这一个方法。《Python核心编程》就是书本类的一个对象,它也具有作者、书名、出版社等数据属性和销售这一个方法。本次的任务是让学习者掌握类的属性与实例化。

相关知识

类的数据属性

  • 类的数据属性只与类绑定,不属于任何实例。在类创建后,属性也被创建,类的数据属性也可以称为静态变量,它通常用来跟踪与类相关的值。类的数据属性使用的并不多,一般都是用实例数据属性。例如:
class DataProperty:theData = 10

在上面的例子中,theData就是类的数据属性。

  • 类中还有很多特殊属性,具体如下:
ClassName.__name__:类ClassName的名字;
ClassName.__doc__:类ClassName的文档字符串;
ClassName.__bases__:类ClassName的所有父类构成的元组;
ClassName.__dict__:类ClassName的属性;
ClassName.__module__:类ClassName定义所在的模块;
Instance.__class__:实例Instance所对应的类。

类的方法

  • 类中的方法也称为函数。 Python中用关键字: def定义一个方法,后面接方法名,最后接参数。例如:
class  MethodExample:def theMethod(self):print("这是方法实例")
  • 类中的方法一定要通过实例的句点方法去调用。例如:
class  MethodExample:def theMethod(self):print("这是方法实例")
me = MethodExample()
me.theMethod()

类的实例化

  • Python 使用函数操作符来创建实例对象。例如:
class  MethodExample:def theMethod(self):print("创建类的实例")
me = MethodExample()
  • 在实例化一个对象后,Python会检查是否实现了__init__()方法。如果没有实现__init__()方法,则不会做其它的操作,直接返回对象,实例化过程完毕。而__init__()方法是用来给类本身初始化的,支持带参数的初始化。例如:
class Book:def __init__(self,bookname,price,author):self.bookname = booknameself.price = priceself.author = authordef sell(self):print("%s书本的价格为%d" %(self.bookname,int(self.price)))
book = Book("python","45","aas")
book.sell()

在上面的例子中,__init__()是解释器在创建一个实例后调用的第一个方法。

编程要求

  1. 填入声明两个变量名分别为name和country的字符串变量的代码;
  2. 填入对类People进行实例化的代码,实例对象为p。

测试说明

预期输入:

jim
中国

预期输出:

jim来自中国

预期输入:

jane
美国

预期输出:

jane来自美国

上代码:

如果注释理解有误,请大佬们多多评论指教!!

Python——类的属性与实例化相关推荐

  1. 浅谈Python类的属性和方法

    浅谈Python类的属性和方法 参考文献 在python中,有私有属性和公有属性,方法我们也一样,他们之间有何区别? 还有类属性和实例属性又是怎么回事? 静态方法和类方法又有什么区别? 我们在工作过程 ...

  2. python 类 公有属性、私有属性、公有方法、私有方法

    python 类 公有属性.私有属性.公有方法.私有方法 #!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Int ...

  3. python类的定义与实例化

    类的定义与实例化 在Python中,通过class关键字定义一个类,比如我们需要定义一个人的类.按照 Python 的编程习惯,类名以大写字母开头.因此可以这样定义: class Person: pa ...

  4. python 类静态属性_python面向对象之静态属性/静态方法/类方法/组合

    继续学习,不要松懈 #!/usr/bin/env python # coding:utf-8 class Campus: def __init__(self,name,addr,type): self ...

  5. Python 类的属性与实例属性

    放假归来 ~~~ 一.概念 类对象:类名 实例对象:通过类创建的对象 类属性:类对象所拥有的属性.归类所有,被类对象和实例对象所共有. 类的公有属性可以在类外被访问. 实例属性:实例对象所特有的属性, ...

  6. Python 类的属性和实例属性 Python 的动态语言

    #定义一下类, 含有类属性 aaa, >>> class Aa:  ... aaa = 10 ... #对类 Aa实例化出一个实例 a1 >>> a1 = Aa() ...

  7. python类的属性和对象属性_python 类属性、对象属性-阿里云开发者社区

    类的普通属性: dir(Myclass), 返回一个key列表: Myclass.__dir__,返回一个字典: 1.类的数据属性: 2.类的方法: 类的特殊属性: 1.Myclass.__name_ ...

  8. python类的属性和对象属性_在python的类中动态添加属性与生成对象

    本文将通过一下几个方面来一一进行解决 1.程序的主要功能 2.实现过程 3.类的定义 4.用生成器generator动态更新每个对象并返回对象 5.使用strip 去除不必要的字符 6.rematch ...

  9. python类的属性和对象属性_Python打印对象的全部属性

    原标题:Python打印对象的全部属性 __dict__方法 遇到这样一个情况,要打印出一个对象的各种属性.但是不同对象的属性名都不一样,结构也不同,无法写一个代码来实现.然后我找到了__dict__ ...

最新文章

  1. 抖音python广告_抖音上好看的小姐姐,Python给你都下载了
  2. linux 下转换UTC到本地时间
  3. 算法9---二叉树的遍历不用栈和递归
  4. 5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸
  5. 【Linux】查看日志文件
  6. 高并发锁Lock的详细使用
  7. 关于Extjs gridpanel设置autoHeight:true时,横向滚动条的问题
  8. JQ插件jkscroll应用到页面中的效果
  9. 3月7日学习内容整理:restframework的解析器组件
  10. 分享过滤条件中增加一个自定义过滤变量插件代码
  11. 记录一次由于流的read(byte[3 * 1024], 0, len); 读取不足定义的长度,引发的线上bug
  12. net3.5离线一键安装工具_一键获取抖音直播源地址(无水印高清下载),无需安装Fiddler抓包工具...
  13. 2020-10-27 史上最全最新机器人领域期刊总结
  14. 无心剑中译泰戈尔《漂鸟集(1~10)》
  15. List of problems to be solved
  16. HttpClient使用详解 get与post请求
  17. java百万条数据导出到excel表格
  18. 虚拟化操作系统ESXi 6.7安装配置详细步骤
  19. VUE的插槽(slot和slot-scope)
  20. ES6—ES13总结

热门文章

  1. 随机生成10个包含数字、字母的8位数密码
  2. 如何安装FastDFS
  3. 表格滚动分页加载——使用element-plus的无限滚动v-infinite-scroll与el-table同时使用出现滚动条定位到底部导致一直请求接口
  4. 自考java填空题_java 自考题目
  5. MathType公式上浮该怎么办?
  6. 李开复写给中国大学生的七封信(7/7)
  7. 迅雷深度布局家庭互联网
  8. 华为云工业互联网的思与行
  9. SK电讯将携手Honeywell开发无线传感器
  10. 微信支付 mysql_小程序怎么实现微信支付