网站首页 > 技术文章 正文
类是一群相似事物的集合。Python中定义类的代码如下:
class Book():
def __init__(self,title,author):
self.title = title
self.author = author
def getTitle(self):
return "<<"+self.title+">>"
def getAuthor(self):
return " "+self.author
book = Book('python review note','regina')
其中代码第一行class Book() 就是定义了一个Book类。
对象是集合中的一个事物。对应代码里book = Book('python review note','regina')
表明Book集合中的一本具体的书。
属性是对象中某个特征,比如,title、author
函数是对象的某个行为,比如 getTitle、getAuthor
还有init函数表示构造函数,就是一个对象生成是就会被调用的函数。而getTitle和getAuthor是类的普通函数。
如果一个属性以 __ (注意,此处有两个 _) 开头,我们就默认这个属性是私有属性。私有属性,是指不希望在类的函数之外的地方被访问和修改的属性。
如果我在刚才那个类的基础上添加一个私有属性:
class Book():
def __init__(self,title,author,__content):
self.title = title
self.author = author
self.__content = __content
book = Book('python review note','regina','...python review')
print(book.__content)
如果你执行这段代码就会报AttributeError: 'Book' object has no attribute '__content'错误
那么怎么在类中定义一个常量呢?
class Book():
WELCOME_STR = 'This book is for python note'
def __init__(self,title,author,__content):
self.title = title
self.author = author
self.__content = __content
print(book.WELCOME_STR)
例如这段代码中的 WELCOME_STR。一种很常规的做法,是用全大写来表示常量
还有两个特殊的函数,一个是类函数,一个是静态函数。
比如上文代码中,我们使用 createJavaBook类函数,来创造新的书籍对象。类函数需要装饰器 @classmethod 来声明。
@classmethod
def createJavaBook(cls):
return cls('java review note','regina','nothing')
print(book.createJavaBook().title)
静态函数可以用来做一些简单独立的任务,既方便测试,也能优化代码结构。静态函数还可以通过在函数前一行加上 @staticmethod 来表示,代码中也有相应的示例。
@staticmethod
def get_welcome():
return Book.WELCOME_STR
print(Book.get_welcome())
猜你喜欢
- 2025-05-22 早知道就好了!关于Python魔法方法的清单
- 2025-05-22 Python 模块导入(import)实战指南
- 2025-05-22 19-3-Python-类的常用内置方法
- 2025-05-22 认识python全栈框架reflex:快速打造工具类、模型调用web应用
- 2025-05-22 Python super()函数:调用父类的构造方法
- 2025-05-22 Python 中 必须掌握的 20 个核心函数及其含义,不允许你不会
- 2025-05-22 python魔法方法__call__详解
- 2025-05-22 python函数调用10种常见的语法错误
- 2025-05-22 Python常用函数整理
- 2025-05-22 Python函数调用最常用的3种方法:
- 05-25Python 3.14 t-string 要来了,它与 f-string 有何不同?
- 05-25Python基础元素语法总结
- 05-25Python中的变量是什么东西?
- 05-25新手常见的python报错及解决方案
- 05-2511-Python变量
- 05-2510个每个人都是需要知道Python问题
- 05-25Python编程:轻松掌握函数定义、类型及其参数传递方式
- 05-25Python基础语法
- 257℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 90℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 81℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)