Python学习笔记2:类的定义和继承

# 类的定义

格式:

class 类名(父类):

__init(self,参数)

成员方法

成员变量

# 所有类的基础object

#  私有方法和变量使用__开头

例如:定义一个鸟类

class Bird(object):
    __have_feather = True  # 私有属性:是否有羽毛
    way_of_reproduct = "egg" # 公有属性:繁殖方式 

    def move(self, dx, dy):  # 公有方法
        position = [0,0]
        position[0] = position[0] + dx
        position[1] = position[1] + dy
        return position

定义一个鸡类:继承自鸟类

class Chicken(Bird):
    way_of_move = "walk"  # 添加一个公有属性 

定义一个海鸥类:继承自鸟类

class Oriole(Bird):
    way_of_move = "fly"  # 添加一个公有属性

定义一个幸福鸟类:继承自鸟类

class happyBird(Bird):
    def __init(self, words): # 构造函数
        print "We are happy birds,", words

使用:

summer = Bird()
print "after move:",summer.move(5,8)
happy = happyBird()

例:定义一个人类

class Human(object):
    laugh = "hahaha" # 公有属性
    def __init__(self, gender): # 构造函数
        self.gender = gender # 定义并初始化公有属性
    def __show_laugh(self): # 私有方法
        print self.laugh
    def show_laugh_twice(self): # 公有方法
        self.show_laugh() # 调用私有方法
        self.show_laugh() # 调用私有方法

使用:

man = Human("male")
man.show_laugh_twice()
print man.gender

附录:

# 内置函数

# dir() 用来查询一个类或对象的属性

# help()用来查阅说明文档

# 序列常用函数

len(s)-元素个数

min(s)-最小的元素

max(s)-最大的元素

sum(s)-求和

s.count(x)-元素x在序列s中的出现次数

s.index(x)-元素x在序列s中第一次出现的下标

# 表(由于定值表的元素师不可变更的)

l.extend(l2)-在表l后添加l2的全部元素

l.append(x)-在l的末尾附加x元素

l.sort()-对l中的元素排序

l.reverse()-将l中的元素逆序

l.pop()-返回:表l的最后一个元素,并在表l中删除该元素

del l[i]-删除该元素

时间: 2024-10-13 09:00:01

Python学习笔记2:类的定义和继承的相关文章

Python学习笔记__2.2章 定义函数

# 这是学习廖雪峰老师python教程的学习笔记 1.定义函数 定义一个函数需要有函数名.参数.函数体.函数体中最好还有 传入的参数判断 1.1.函数创建 定义一个函数用def,数据类型检查用isinstance.例子如下: def my_abs(x): if not isinstance(x, (int, float)):    # 判断传入的参数,是否是 ××× 或 浮点形 raise TypeError('bad operand type')  #  抛出错误 if x >= 0: ret

python学习笔记1-元类__metaclass__

type 其实就是元类,type 是python 背后创建所有对象的元类 python 中的类的创建规则: 假设创建Foo 这个类 class Foo(Bar): def __init__(): pass Foo中有__metaclass__这个属性吗?如果有,Python会在内存中通过__metaclass__创建一个名字为Foo的类对象,他是一个类,但是本身类就是对象,一个python文件模块也属于一个对象. 如果Python没有找到__metaclass__,它会继续在Bar(父类)中寻找

python学习笔记——旧类与新类继承中的构造函数

旧类以调用未绑定的超类构造方法 class OldDog: def __init__(self): print 'I am a old dog !' self.__hungry = True def eat(self): if self.__hungry: print 'I eat it !' self.__hungry = False else: print 'No thanks!' class OldWolf(OldDog): def __init__(self): OldDog.__ini

Python学习笔记008_类_对象

# 对象 = 属性 + 方法>>> # Python中的类名约定以大写字母开始>>> # tt = Turtle() 这就是创建类实例的方法,其它语言用new ,它是不需要的>>> >>> # Python中的self就相当于Java中的this >>> # self ,一般都放在方法的第一个参数中这是默认的要求 class Ball: def setName(self,name): self.name=name d

python学习笔记(七) 类和pygame实现打飞机游戏

python中类声明如下: class Student(object): def __init__(self, name, score): self.name = name self.score = score def printinfo(self): print('name is %s, score is %d'%(self.name, self.score)) Student类有两个成员变量,name和score,类的成员函数第一个参数都为self,用来实现成员变量的赋值,__init__是

Python学习笔记12—类

典型的类和调用方法: #!/usr/bin/env Python # coding=utf-8 __metaclass__ = type #新式类 class Person: #创建类 def __init__(self, name): #初始化函数 self.name = name def getName(self): #类中的方法(函数) return self.name def color(self, color): print "%s is %s" % (self.name,

C++ Primer 学习笔记_66_面向对象编程 --定义基类和派生类[续]

算法旨在用尽可能简单的思路解决问题,理解算法也应该是一个越看越简单的过程,当你看到算法里的一串概念,或者一大坨代码,第一感觉是复杂,此时不妨从例子入手,通过一个简单的例子,并编程实现,这个过程其实就可以理解清楚算法里的最重要的思想,之后扩展,对算法的引理或者更复杂的情况,对算法进行改进.最后,再考虑时间和空间复杂度的问题. 了解这个算法是源于在Network Alignment问题中,图论算法用得比较多,而对于alignment,特别是pairwise alignment, 又经常遇到maxim

C++ Primer 学习笔记_15_类与数据抽象(1)_类的定义和声明

C++ Primer 学习笔记_15_类与数据抽象(1)_类的定义和声明 在C++中,用类来定义自己的抽象数据类型.通过定义类型来对应所要解决的问题中的各种概念,可以使我们更容易编写.调试和修改程序.可以使得自己定义的数据类型用起来与内置类型一样容易和直观. 看一下Sales_item类: class Sales_item { private: std::string isbn; unsigned units_sold; double revenue; public: double ave_pr

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来