027、面向对象简介
本文最后更新于 67 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

面向对象简介

对象一般是指一个类的实例,具有相关的成员变量和成员函数,在Python中成员变量叫做属性,成员函数叫做方法。

什么是对象

Python中几乎所有的东西都是对象。基本类型是对象,如整数:

a = 10

其属性与方法:

a.real
10
a.conjugate()
10

对象在内存中有一个地址与之对应,这个地址可以用id()函数查看:

id(len)
4514492720

同一个对象的内存地址一致:

b = a
id(b) == id(a)
True

id()函数本身也是对象:

id(id)
4514488128

在Python中,只有一些保留的关键字和符号不是对象。

自定义类型

基本形式为:

class ClassName(ParentClass):
    """class docstring"""
    def some_method(self, ...):
        return ...

具体规律为:

  • class关键字在最开始。
  • ClassName是自定义类型的名称, Python对类型名称没有规定,流行的做法是用大骆驼拼写法(Upper Camel Case)的记法,即每个单词的首字母大写,中间不留空格。
  • “()”中的ParentClass用来表示继承关系,可省略,默认为object。
  • “:”不能缺少,之后的内容要进行缩进。
  • 三引号包含的部分是类型的文档即docstring,可以省略。
  • 类型的方法定义与函数定义类似,第一个参数表示是对象本身,通常用self表示。

例如:

class Leaf(object):
    """A leaf falling in the woods."""
    pass

其中,pass是一个特殊的关键词,用来占位,表示什么都不做。

新类型Leaf继承了Python中最基本的类型,即object。事实上所有的对象都是object:

isinstance(10, object)
True
isinstance([], object)
True

三引号的部分是对Leaf类的说明文档,可以调用Leaf的.__doc__属性查看:

Leaf.__doc__
'A leaf falling in the woods.'

Leaf对象的产生:

leaf = Leaf()

在Python里,变量是区分大小写的,因此,leaf和Leaf是不同的变量。

再次调用生成的对象是不同的:

leaf2 = Leaf()
leaf is leaf2
False
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇