【有书共读05】《Python编程》读书笔记08

一、创建类

先看一个简单的例子

#coding:utf-8
#例子1
class Dog():
    """docstring for Dog"""
    def __init__(self, name , age):
        '''初始化属性name和age'''
        self.name = name
        self.age = age

    def sit(self):
        '''小狗蹲下的动作'''
        print(self.name.title() + " is now sitting.")
        pass

    def roll_over(self):
        '''模拟小狗打滚'''
        print(self.name.title() + " is rolling over.")
        pass

学过面向对象变成的同学都知道类有属性和方法,在python中的类也是这样,当然还是有许多差别的。
在python中,类名的首字母一般大写,与其他变量区别。

1、方法 init()

类中的函数成为方法(敲黑板,这点不要叫错了,当然和函数的用法没太大区别,主要是调用方式不同)
在类中,方法init—()是一个特殊的方法,每当我们用类来创建实例时,python都会自动运行它。在这个方法名称中,开头和结尾各有一个下划线,这是一种约定,旨在避免python默认方法和普通方法产生名称冲突。
看例子中,方法_init()有3个形参,分别是self、name、age。
形参self是必不可少的,还必须位于其他形参的前面
为什么要这么做呢?

python用init()创建实例时,将自动传入实参self。每个与类相关联的调用都自动传递self,它是一个指向实例本身的引用(类似Java中的this),让实例能够访问类中的属性和方法。

但是在初始化一个实例的时候,不需要给self传递实参!!!

self.name = name
self.age = age

这两个变量都有前缀self。以self为前缀的变量都可供类中的所有方法使用,我们还可以通过类的任何实例来访问这些变量。self.name = name 获取存储在形参name中的值,并将其存储到变量name中
其实简单来说,有self前缀的变量与Java中的成员变量类似,可以被成员函数(python类中的方法)访问。

也可以给

二、根据类创建实例

#coding:utf-8
#例子2
#类定义是上面的例子,就不重复贴了

#创建实例
mydog = Dog('DaHuang' , 3)
mydog.sit()
mydog.roll_over()

1、初始化一个实例

格式如下

实例名 = 类名(实参1,实参2 ...)

在例子2中,我们初始化了一个名为mydog的实例。当程序执行到这行代码时,python会自动调用init()方法,用‘DaHuang’ 和 3 的值来设置属性name和age。方法init()并不显式地包含return语句,但是python自动返回一个表示这条小狗的实例。

2、访问属性

访问实例的属性,可使用句点表示法。

mydog.name

这样就可以访问实例属性的值了

3、调用方法

调用实例方法,也是通过句点表示法。

mydon.sit()
mydog.roll_over()

方法sit()中没有形参(不考虑self的话),如果类中的方法有形参,可以在调用时给其传递实参。

继承下次再写QAQ,要去复习了,不然1期末真凉了~

#Python#
全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务