一日一技:在Python类里面初始化自己

简介: 一日一技:在Python类里面初始化自己

摄影:产品经理

厨师:kingname

当我们写一个类的时候,一般会覆写 __init__方法,来初始化一些数据。例如:

class People:
    def __init__(self, name, age, salary):
        self.name = name
        self.age = age
        self.salary = salary
    def intro(self):
        print(f'我的名字是{self.name},我今年{self.age}岁了,我的月薪为{self.salary}元')

这里的 __init__叫做 构造函数。它负责在类初始化为实例的时候,初始化必要的数据。如下图所示:


每当我们需要初始化一个实例的时候,都要传入 nameagesalary这三个参数。

有时候,比如我们想简化这个操作,或者想埋下一个彩蛋时,可以在类里面写一个类方法,这个类方法能够返回一个隐藏的实例:

class People:
    def __init__(self, name, age, salary):
        self.name = name
        self.age = age
        self.salary = salary
    def intro(self):
        print(f'我的名字是{self.name},我今年{self.age}岁了,我的月薪为{self.salary}元')
    @classmethod
    def kingname(cls):
        return cls('kingname', 26, 999999999)

当我们要初始化 kingname这个实例的时候,直接使用 People.kingname()即可,运行效果如下图所示:

这个例子有什么作用呢?

例如在Scrapy的pipline里面,我们如何把settings.py中的配置信息传入到pipeline里面呢?

在老版本的Scrapy中,我们可以使用如下代码来实现:

from scrapy.conf import settings
MONGODB_URI = settings['MONGODB_URI']

但这种写法在新版的Scrapy中已经被移出了。官方文档中建议的新写法,就是本文介绍的:

目录
相关文章
|
5月前
|
人工智能 Python
[oeasy]python083_类_对象_成员方法_method_函数_function_isinstance
本文介绍了Python中类、对象、成员方法及函数的概念。通过超市商品分类的例子,形象地解释了“类型”的概念,如整型(int)和字符串(str)是两种不同的数据类型。整型对象支持数字求和,字符串对象支持拼接。使用`isinstance`函数可以判断对象是否属于特定类型,例如判断变量是否为整型。此外,还探讨了面向对象编程(OOP)与面向过程编程的区别,并简要介绍了`type`和`help`函数的用法。最后总结指出,不同类型的对象有不同的运算和方法,如字符串有`find`和`index`方法,而整型没有。更多内容可参考文末提供的蓝桥、GitHub和Gitee链接。
123 11
|
4月前
|
存储 数据采集 大数据
Python推导式进阶指南:优雅初始化序列的科学与艺术
本文系统讲解Python推导式的用法与技巧,涵盖列表、字典、集合推导式及生成器表达式。通过代码示例和性能对比,展示推导式在数据结构初始化中的优势:简洁高效、执行速度快30%-50%。文章分析基础语法、核心应用场景(如序列构造、键值对转换、去重运算)及嵌套使用,并探讨使用边界与最佳实践,强调可读性优先原则。最后指出,合理运用推导式能显著提升代码质量和处理效率,同时避免过度复杂化的陷阱。
107 0
|
8月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
352 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
6月前
|
存储 C语言 Python
[oeasy]python077_int类型怎么用_整数运算_integer_进制转化_int类
本文主要讲解了Python中`int`类型的应用与特性。首先回顾了`int`词根的溯源,探讨了整型变量的概念及命名规则(如匈牙利命名法)。接着分析了整型变量在内存中的存储位置和地址,并通过`type()`和`id()`函数验证其类型和地址。还介绍了整型变量的运算功能,以及如何通过`int()`函数将字符串转化为整数,支持不同进制间的转换(如二进制转十进制)。此外,文章提及了关键字`del`的使用场景,对比了Python与C语言中`int`的区别,并总结了整型与字符串类型的差异,为后续深入学习奠定基础。
112 1
|
9月前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
11月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
160 2
|
11月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
103 1
|
11月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
133 4
|
11月前
|
机器人 关系型数据库 Python
【Python篇】Python 类和对象:详细讲解(下篇)
【Python篇】Pyt hon 类和对象:详细讲解(下篇)
108 2
|
11月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
227 1

推荐镜像

更多