面向对象编程是最有效的软件编写方法之一

创建Dog类

class Dog():'''一次模拟小狗的简单测试'''def __init__(self,name,age):self.name = nameself.age = agedef sit(self):'''模拟小狗被命令下蹲'''print(self.name.title() + "is now sitting.")def roll_over(self):'''模拟小狗被命令打滚'''print(self.name.title() + "rolled over!")

1.在这里我们定义了一个Dog类,在Python中,首字母大写的名称指的是类

2.方法__init__()是一个特殊的方法,每当你根据Dog类创建新实例时,Python会自动运行它,在这个方法中,开头和结尾有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生冲突,在此方法中又是那个形参,参数self必不可少,还必须位于其他形参的前面,Python调用这个方法来创建Dog实例时,将自动传入实参self,每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。self会自动传递,只需要传入后面两个形参(name和age)

3.self.name,以self为前缀的变量都可提供类中的所有方法使用,我们可以通过类的任何实例来访问这些变量,self.name = name 获取存储在形参name中的值,并将其存储到变量name中,然后该变量被关联到当前创建的实例。像这种可以通过实例访问的变量称为属性。

根据类创建实例

my_dog = Dog('Lucy',3)print("My dog's name is " + my_dog.name +".")
print("My dog is " + str(my_dog.age) +" years old.")

我们通常可以认为手写字母大写的指的是类,小写的名称指的是类创建的实例

1.调用方法

my_dog = Dog('Lucy',3)
my_dog.sit()
my_dog.roll_over()print("My dog's name is " + my_dog.name +".")
print("My dog is " + str(my_dog.age) +" years old.")

2.创建多个实例

my_dog = Dog('Lucy',3)
your_dog =Dog('Michile',4)print("My dog's name is " + my_dog.name +".")
print("My dog is " + str(my_dog.age) +" years old.")
my_dog.sit()print("your dog's name is " + your_dog.name +".")
print("your dog is " + str(your_dog.age) +" years old.")
your_dog.sit()

在这个实例中,我们创建了2条小狗,他们分别名为Lucy跟Michile.每条小狗都是一个独立的实例,拥有自己的属性。

【Python】创建和使用类相关推荐

  1. Python 创建和使用类

    python创建和使用类的方法如下 # class Dog(): # def __init__(self,name,age): # self.name=name # self.age=age # # ...

  2. python list add_用Python创建List对象类

    这是一个基本问题.我正在尝试以下代码:class SMS_store: def __init__(self): self=[] #probably something is wrong here de ...

  3. 独家 | 手把手教你用Python创建简单的神经网络(附代码)

    作者:Michael J.Garbade 翻译:陈之炎 校对:丁楠雅 本文共2000字,建议阅读9分钟. 本文将为你演示如何创建一个神经网络,带你深入了解神经网络的工作方式. 了解神经网络工作方式的最 ...

  4. python编程例子 输入 输出-推荐 :手把手教你用Python创建简单的神经网络(附代码)...

    原标题:推荐 :手把手教你用Python创建简单的神经网络(附代码) 作者:Michael J.Garbade:翻译:陈之炎:校对:丁楠雅 本文共2000字,9分钟. 本文将为你演示如何创建一个神经网 ...

  5. python简单代码-手把手教你用Python创建简单的神经网络(附代码)

    了解神经网络工作方式的***途径莫过于亲自创建一个神经网络,本文将演示如何做到这一点. 神经网络(NN)又称人工神经网络(ANN),是机器学习领域中基于生物神经网络概念的学习算法的一个子集. 拥有五年 ...

  6. python创建一个文件并写入_python创建文件并写入

    python怎么以追加的方式写文件? Python 3.5 想将从1到10写入一个文件并且自动换行 现在需要一个写文件方法,将selenium的脚本运行结果写入test_result.log文件中 首 ...

  7. 关于python创建类的深入理解

    背景 我们知道在python中一切皆为对象的概念,那我们们来看一段程序 class Foo(object):def __init__(self, name):self.name = namef = F ...

  8. python中编完类后到实例编写_[零基础学python]编写类之一创建实例

    虽然已经对类有了一点点模糊概念,但是,阅读前面一讲的内容的确感到累呀,都是文字,连代码都没有. 本讲就要简单多了,尝试走一个类的流程. 说明:关于类的这部分,我参考了<Learning Pyth ...

  9. python创建一个类初始化两个变量name、age_Python小白入门:第八讲||类

    Python 是一种面向对象的编程语言.在面向对象编程中,你编写表示现实世界中的事务和情景的类,并基于这些类来创建对象. 编写类时,你定义的一大类对象都有的通用行为.基于类创建对象时,每个对象都自动具 ...

  10. python创建变量_Python每天一分钟:给类对象动态新增/删除成员变量和方法(函数)...

    一般类对象新增变量或方法的过程 在面向对象(OOP)的编程方法中,如果需要给实例化的类对象新增方法或者属性,一般都是在class类的定义中新增内容,然后才能用类对象来调用新增的方法或变量.如在C++中 ...

最新文章

  1. PHP脚本批量清除nginx缓存的方法
  2. 区块链带来的价值包括哪些_爱链社区干货:区块链技术为冷链物流带来的了那些价值?...
  3. ns 25的L2TP模式×××配置
  4. 爱情八十二课,爱情三国杀
  5. 【Transformer】SOFT: Softmax-free Transformer with Linear Complexity
  6. STM32的EXTI相关学习笔记
  7. sunny底层android,Android网络通信概述
  8. 避免Gson使用时将一些字符自动转换为Unicode转义字符
  9. python装饰器的通俗理解_Python|闭包、装饰器,简单的实例,通俗的理解
  10. Serverless 开发者平台
  11. Js页面截取小数点后两位
  12. 3dsmax动画渲染速度慢,渲染结果高糊的解决,图片渲染清晰,但变成动画就糊(Quicksilver硬件渲染器)
  13. 商品sku规格选择效果,没有商品的不能选中,选择顺序不影响展示结果
  14. 1、OpenSearch入门配置
  15. 学习模拟集成电路的九个阶段
  16. 在探索中享受童年般的乐趣 |Mixlab的故事
  17. 杭电OJ1001 C
  18. jQuery的基本用法
  19. FB03--红冲VS蓝冲
  20. 更改Windows 7中WMP12默认的视频解码器

热门文章

  1. 苹果首席设计官离职!这个被称为“强纳肾”的男人,设计了iMac、iPhone等无数产品...
  2. 【跃迁之路】【674天】程序员高效学习方法论探索系列(实验阶段431-2018.12.19)...
  3. shareinstall之Android SDK集成
  4. 博弈论入门之威佐夫博弈
  5. gzez某蒟蒻lyy的博客
  6. [Java开发之路](21)Comparator与Comparable
  7. centos增加软连接
  8. 【微软公有云系列】Hyper-v(WinSer 2012 R2)网络虚拟化(三)租户隔离
  9. POJ-2391 Ombrophobic Bovines 网络流-拆点构图
  10. Eclipse SDK 4.2.2/Equinox 3.8.2 发布