专栏首页python3Python学习之类

Python学习之类

前言:

之前写的博客,都是借鉴别的博文或者是环境的配置,没有自己的东西,掌握的很少。以后的博文,我都会尽力加上一些自己的东西。现在开始进入我的python世界吧!

为什么要有类:

在面向对象编程中,你要通过类来创建对象。通过类你可以对对象进行定义抽象的属性和行为。比如对象是狗狗,你就可以通过类来定义狗狗的名字,颜色,动作等等,将狗狗具体化。用类创建对象叫做实例化,它不但可以让对象具体化同时还可以通过共享代码,导入其他程序员编写的代码,来达到省时省力的目的。

1.如何创建和使用类

一个简单的类有类名,方法,属性

class Dog():
        """一次模拟小狗的简单尝试"""

        def __init__(self, name, age):
                """初始化属性name和age"""
                self.name = name
                self.age = age

        def sit(self):
                """模拟小狗被命令时蹲下"""
                print(self.name.title() + " is now sitting.")

        def roll_over(self):
                """模拟小狗被命令时打滚"""
                print(self.name.title() + " rolled over!")

my_dog = Dog('while',6)
your_dog = Dog('lucy',3)

my_dog.sit()
my_dog.roll_over()
print("My dog's name is " + my_dog.name.title() + ".")
print("My dog is " + str(my_dog.age) + " years old.")

print("\nYour dog's name is " + your_dog.name.title() + ".")
print("Your dog is " + str(your_dog.age) + " years old.")
your_dog.sit()
your_dog.roll_over()

首先定义了一个名为Dog的类。意思就是我要造一个小狗狗了。

理解点:class Dog():  记得要有:,class()中()的意思是继承,如果是空的,不继承任类,从空白创造类。大白话是你造了一个新的狗狗。如果()里有类名,大白话是你造的狗继承了类名里狗的特征(颜色,动作等等),没造狗之前,这个狗已经有自己的样子了。当然这些特征可以覆盖的,为什么要有继承主要是为了省事,比如你要造10只狗,继承一下就不用挨个敲了,能省点时间去和妹子聊天,如果你有妹子的话。

第二步,定义__int__()方法,意思是定义基础的属性,让接下来的方法调用。

def __init__(self, name, age):
                """初始化属性name和age"""
                self.name = name
                self.age = age

理解点:记住__init__两边是两个_,我开始找了半天的错。这个方法包含了3个形参定义了名字和年龄。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 课时37:类与对象:面向对象编程

    对象的方法都有一个self参数,那这个self参数是什么呢?如果之前接触过其它的编程语言,例如c++,那么你应该很容易对号入座,Python的self其实就相当...

    py3study
  • Python27 反射

    图中输入choice的内容是一个字符串,正常调用d.eat()这可不是一个字符串。 报错提示Dog中不存在attribute choice(字符串)

    py3study
  • python string 中查找中文字

    http://blog.csdn.net/jarvischu/article/details/8962497

    py3study
  • 从ORA-01950报错我们能了解的知识

    开发同学提了一个问题,说有个性能测试的数据库,正在准备数据,使用如下批量操作的语句,报错ORA-01950,无法执行插入,

    bisal
  • python学习笔记6.6-类的惰性属性

    我们想将一个只读属性定义为property属性方法,只有在访问它时才参与计算。同时,一旦访问了该属性,希望把计算出来的值缓存起来,不要每次访问它时都要重新计算。...

    锦小年
  • js获取url地址中的参数

    <script type="text/javascript"> function GetQueryString(name) { var ...

    Java中文社群_老王
  • Python3 与 C# 扩展之~基础拓展

    看着小张准备回家换衣服了,小明有点失落,又有点孤单,于是说道:“逗逼张,你还要听吗?我准备讲类相关的知识了,这些可是我课后自学的哦~”

    逸鹏
  • Linux epoll 源码分析 3

    在上一篇文章 Linux epoll 源码分析 2 中,我们分析了 epoll_ctl 的 ep_insert 方法,在这里我们继续看下 ep_remove 和...

    wangyuntao
  • 月活近 5 亿,微博是如何做业务安全的?

    想弄清这个问题,我们要明白:作为社交媒体平台,安全对微博意味着什么?或者说,为什么安全对微博很重要?

    Java帮帮
  • python 序列叠加chain

    第一种方案中, a + b 操作会创建一个全新的序列并要求a和b的类型一致。 chian() 不会有这一步,所以如果输入序列非常大的时候会很省内存。 并且当可迭...

    用户5760343

扫码关注云+社区

领取腾讯云代金券