Python 类全解析:静态方法、类方法、类变量
★
“Python 是一门面向对象的语言。” 很多初学者看到这句话时,脑子里可能会冒出一个问号:“面向对象”到底是什么意思?类、对象、方法、变量,这些名词我应该怎么理解?”
今天这篇文章,我们就一次性把这些问题讲透,并顺便聊聊静态方法、类方法、类属性等开发中很容易混淆的概念,还会带你看一个实用的工厂模式案例。
1. 面向对象是什么?简单说,面向对象编程(OOP)是一种编程思想,把代码组织成类(class)和对象(object)。
类:是对象的蓝图,相当于一份设计图。
对象:是类的实例,就像根据设计图造出来的实物。
📌 生活类比:
“人类”是一份类
你、我、小王就是不同的对象
123456789class Person: def __init__(self, name): self.name = name def say_hello(self): print(f"你好,我是 {self.name}")p = Person("小王&quo ...
Python中的if name == “main“是什么?为什么这样写?有什么作用?引言
当初学习Python编程语言时,经常会遇到一段代码:**if __name__ == "__main__"**。初学者可能会疑惑这段代码的作用和意义是什么,为什么要这样写。本文将对这段代码进行详细地解析,并提供代码示例,帮助初学者更好地理解这一概念。
if __name__ == "__main__"的基本概念
在Python中,if __name__ == "__main__"是一个常见的代码结构,它的作用是判断模块是被直接运行还是被作为一个模块导入到其他模块中。
当模块被直接运行时,Python解释器会将__name__变量的值设置为"__main__",而当模块被导入时,__name__的值将是模块的名字。
因此,通过判断__name__的值是否等于"__main__",我们可以确定模块是被直接运行还是被导入,并可以相应地执行不同的代码逻辑。
代码示例
为了更好地理解if ...
Python学习– if-else 条件语句详解在 Python 中,if-else 条件语句是实现程序分支结构(又称选择结构)的核心语法。
通过条件判断,程序可以根据不同的情况执行相应的代码块,从而实现逻辑控制。Python 提供了三种形式的条件判断语句,每种形式都有其特定的语法结构和执行流程,如下表所示。
语法格式
执行流程
if 表达式: 代码块
if 表达式: 代码块 1 else: 代码块 2
if 表达式 1: 代码块 1 elif 表达式 2: 代码块 2 elif 表达式 3: 代码块 3 …//其它elif语句 else: 代码块 n
elif 和 else 都不能单独使用,必须和 if 一起出现,并且要正确配对。
注意事项
代码块通过缩进(通常4个空格)来界定,缩进必须一致
条件表达式后的冒号:不可省略
elif 可以有多个,else 是可选的
条件判断是从上到下顺序执行的
可以使用括号()来明确条件表达式的优先级
通过合理运用这三种条件判断语句,可以构建出灵活的程序分支逻辑,实现复杂的 ...
编程开发
未读【Python】7天学会编程配套视频教程
目标:
掌握 Python3 环境搭建、PyCharm 基本配置与操作,简单了解辅助 Python 编程的 AI 工具。
掌握 Python 基础语法规则和常见基本数据类型。
熟悉 Python 中常用的几种基础数据结构。
学习更多数据结构,并掌握代码的条件和循环控制。
学习 Python 一些进阶语法和函数相关知识。
学习 Python 模块的使用,以及输入输出和文件操作相关知识。
学习 Python 错误处理机制和面向对象编程相关知识。
初识 Python 与环境准备初识 Python 基本情况python 是一门高级编程语言,融合了解释性、编译性、互动性特点,同时支持面向对象编程。
它的设计着重强调可读性,与其他编程语言相比,Python 更常使用英文关键字,而非过多依赖标点符号,语法结构独具特色。
作为解释型语言,Python 省去了开发过程中的编译步骤,这点与 PHP、Perl 类似。
其交互式特性允许开发者在 Python 提示符 》》》 后直接运行代码,十分便捷。
在编程范式上,Python 支持面向对象风格, ...
Python学习–pass语句pass 是 Python 中的一个空操作语句,它在语法上需要语句但程序不需要任何操作时使用。
基本用法1pass
pass 语句不执行任何操作,只是一个占位符,用于保持程序结构的完整性。
主要使用场景1. 在空代码块中作为占位符12345def function_that_does_nothing(): pass # 暂时不实现这个函数,但需要保持语法正确class MyEmptyClass: pass # 暂时不定义类的内容
2. 在条件语句中作为占位1234if condition: pass # 暂时不处理这个条件else: print("Condition is False")
3. 在循环中作为占位12for item in sequence: pass # 暂时不处理循环内容
4. 在异常处理中捕获但不处理异常1234try: risky_operation()except SomeError: pass # 忽略这个特定错误
pass 与其他空语句的区别 ...
编程开发
未读《零基础Python成长日记》第2篇:Python基础语法与字符串
要学Python编程首先需要了解与计算机沟通的方式,例如在Python世界里对大小写字母是十分敏感的,下面我简单帮大家梳理一下Python的基础语法:
1
Python 中的基础语法图片
1
6种标准数据类型
分别为:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)和Dict(字典)。
而根据内存中的内容是否可变,分为可变类型与不可变类型。其中,数字、字符串、元组和集合被称为不可变类型,列表和字典称为可变类型。图片
2
input与output
【输入的全部输出】
name=input(“请输入一个人的名字:”)country=input(“请输入一个国家的名字:”)print(“{}是{}人。”.format(name,country))
输入:小明 中国
输出:小明是中国人
【输入的只输出一部分】
name=input(“输入姓名:”)print(“{}同学,学好Python,前途无量!”.format(name))print(“{} ...
Python学习笔记:函数基础精讲一、函数的本质函数是一段具有以下特征的代码块:
1.有明确的功能边界:完成特定任务
2.可重复调用:避免代码重复
3.有明确的输入输出:通过参数接收数据,通过返回值输出结果
12345# 计算圆面积的函数def calculate_circle_area(radius): """计算圆的面积""" area =3.14159* radius **2 return area
二、函数的定义与调用正确语法1234def function_name(parameters): """docstring"""# 函数说明文档 function_body [return value]# 可选
常见错误示例123456# 错误1:函数名使用关键字def print(x):# 覆盖了内置print函数 pass# 错误2:参数列表缺少冒号def add(a, b)# 缺少冒号 return a + ...
Python学习–函数(函数定义、函数调用)用法详解一、函数定义1. 基本语法结构1234def 函数名(参数列表): """文档字符串(可选)""" 函数体代码 [return 返回值]
2. 基本示例1234567891011# 定义一个无参数函数def say_hello(): print("Hello, World!")# 定义带参数的函数def greet(name): print(f"Hello, {name}!")# 定义带返回值的函数def add(a, b): return a + b
3. 函数定义的要点
def 是定义函数的关键字
函数名应遵循变量命名规则,通常使用小写字母和下划线
括号内的参数是可选的
冒号表示函数体开始
函数体必须缩进(通常4个空格)
return 语句可选,若无则返回 None
二、函数调用1. 基本调用方式123456789# 调用无参数函数say_hello() # 输出: H ...
Python学到一半,感觉东西越来越多,怎么才能系统的学好学透?
学习Python时感到知识点零散是正常现象,关键在于如何建立知识体系。以下是为你设计的系统性学习路径,结合了技术深度与实践应用,帮你实现从“会写代码”到“理解编程”的蜕变:
一、构建知识框架(金字塔模型)
**1.**基础层(30天)
数据类型进阶:深入理解可变/不可变类型的内存机制
函数式编程:闭包/装饰器实现原理(建议手写装饰器模板)
OOP设计:魔术方法、元类编程、描述符协议
并发编程:GIL原理、协程实现机制(async/await源码分析)
内存管理:引用计数/垃圾回收的CPython实现
2. 工程层(60天)
****
工程化实践:模块化设计、依赖注入、配置管理
测试驱动开发:pytest高级用法(fixture参数化)
性能优化:cProfile分析、Cython加速关键路径
设计模式:在Django/Flask框架中的模式实现
3. 生态层(持续学习)
数据分析栈:Pandas内部数据块存储机制
Web生态:ASGI协议原理、ORM查询优 ...
Python学习笔记:爬虫入门指南 - 从零认识网络数据采集大家好!好久没更新了,最近开始学习爬虫啦~今天我们来聊聊Python中这个非常实用的技能——网络爬虫。在这个信息爆炸的时代,学会如何高效获取网络数据,将会为你的工作和学习带来巨大便利。
一、爬虫是什么?简单来说,爬虫就是一个自动抓取网页数据的程序。它像一只”数字蜘蛛”,按照预设规则在互联网上爬行,收集我们需要的信息。
123456# 导入requests库,用于发送HTTP请求import requests# 向百度首页发送GET请求,获取响应对象response = requests.get('https://www.baidu.com')# 打印网页的HTML源代码(前500个字符)print(response.text[:500])
二、爬虫的核心工作原理
发送请求:向目标网站服务器发送HTTP请求
获取响应:接收服务器返回的网页内容
解析数据:从HTML中提取有用信息
存储数据:将处理后的数据保存到文件或数据库
三、爬虫的常见类型
类型
特点
应用场景
通用爬虫
无差别抓取全网信息
搜 ...
