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学习–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学到一半,感觉东西越来越多,怎么才能系统的学好学透?
学习Python时感到知识点零散是正常现象,关键在于如何建立知识体系。以下是为你设计的系统性学习路径,结合了技术深度与实践应用,帮你实现从“会写代码”到“理解编程”的蜕变:
一、构建知识框架(金字塔模型)
**1.**基础层(30天)
数据类型进阶:深入理解可变/不可变类型的内存机制
函数式编程:闭包/装饰器实现原理(建议手写装饰器模板)
OOP设计:魔术方法、元类编程、描述符协议
并发编程:GIL原理、协程实现机制(async/await源码分析)
内存管理:引用计数/垃圾回收的CPython实现
2. 工程层(60天)
****
工程化实践:模块化设计、依赖注入、配置管理
测试驱动开发:pytest高级用法(fixture参数化)
性能优化:cProfile分析、Cython加速关键路径
设计模式:在Django/Flask框架中的模式实现
3. 生态层(持续学习)
数据分析栈:Pandas内部数据块存储机制
Web生态:ASGI协议原理、ORM查询优 ...
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学习笔记:爬虫入门指南 - 从零认识网络数据采集大家好!好久没更新了,最近开始学习爬虫啦~今天我们来聊聊Python中这个非常实用的技能——网络爬虫。在这个信息爆炸的时代,学会如何高效获取网络数据,将会为你的工作和学习带来巨大便利。
一、爬虫是什么?简单来说,爬虫就是一个自动抓取网页数据的程序。它像一只”数字蜘蛛”,按照预设规则在互联网上爬行,收集我们需要的信息。
123456# 导入requests库,用于发送HTTP请求import requests# 向百度首页发送GET请求,获取响应对象response = requests.get('https://www.baidu.com')# 打印网页的HTML源代码(前500个字符)print(response.text[:500])
二、爬虫的核心工作原理
发送请求:向目标网站服务器发送HTTP请求
获取响应:接收服务器返回的网页内容
解析数据:从HTML中提取有用信息
存储数据:将处理后的数据保存到文件或数据库
三、爬虫的常见类型
类型
特点
应用场景
通用爬虫
无差别抓取全网信息
搜 ...
Python打包教程03:PyInstaller命令使用指南教你使用Pyinstaller将Python源码打包成可执行程序exe的方法
Python入门教程47:使用virtualenv虚拟环境打包成exe程序
以下是 PyInstaller 命令大全解析,涵盖常用参数、高级配置及使用场景,帮助您快速掌握如何将 Python 脚本打包为独立可执行文件。
一、基本命令格式
1pyinstaller [选项] 脚本路径.py
二、常用选项解析1. 打包模式
选项
说明
示例
--onefile
打包成单个可执行文件
pyinstaller --onefile app.py
--onedir
打包成目录结构(默认模式)
pyinstaller --onedir app.py
--windowed / -w
隐藏控制台窗口(适合 GUI 程序)
pyinstaller -w app.py
--noconsole
同 --windowed(Windows 专用)
pyinstaller --noconsole app.py
2. 输出配置
选项
说明 ...
Python新手必读:7大实用调试技巧,助你快速定位并解决代码难题1、打印语句与日志记录
大多数新手调试时的第一反应,就是在代码里加 print () 语句来观察程序状态。比如在循环中打印变量值,或设置 “检查点” 信息,都能快速发现数值异常。但初学者常犯的错误是:要么忘记清理这些打印语句,要么打印信息缺少上下文 —— 比如直接 print (x) 就会让人摸不着头脑。
改进方法很简单:添加上下文描述,比如 print (f”循环第 {i} 次,x 的值是 {x}”)。
如果想更专业,可以用 logging 模块替代 print:
123import logginglogging.basicConfig(level=logging.DEBUG)logging.debug("变量状态: %s", var)
这样既能获得时间戳和日志级别,又能轻松开关日志或重定向到文件。
简言之,print () 适合快速排查(能解决 80% 的新手问题),但要学会在正式场景中使用日志。很多时候,新手浪费时间就是因为看不到程序状态变化 —— 合适的打印或日志能让程序流程一目了然。
...
Python方法(self参数理解)🎯学习目标深入理解Python方法中self参数的作用和意义,掌握实例方法、类方法和静态方法的区别,学会正确使用不同类型的方法。
📖核心知识点self参数的本质
12345678910class Person: def __init__(self, name): self.name = name # 实例方法:第一个参数必须是self,表示对象本身 def introduce(self): return f"我叫{self.name}" # 实际上Python是这样调用的: # person.introduce() 等价于 Person.introduce(person)
三种方法类型对比
1234567891011121314151617181920212223class Calculator: # 类属性 PI = 3.14159 def __init__(self, brand): self.brand = b ...
Python教程06—什么是集合集合是一种可迭代的,无序的,不能包含重复元素的容器
集合的创建、修改、查询基础语法1. 创建集合123s2 = {"hello"}print(s2)print(type(s2))
2. 修改集合1234s = {"angel","Angel","andy","Andy"}s.remove("angel")s.add("安吉拉")print(s)
2.1 可变集合操作方法
方法
描述
add()
为集合添加元素
clear()
移除集合中的所有元素
copy()
拷贝一个集合
difference()
返回多个集合的差集
difference_update()
移除集合中的元素,该元素在指定的集合也存在
discard()
删除集合中指定的元素
intersection()
返回集合的交集
intersection_update()
返回 ...
Python教程04—什么是元组Python 的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
Python 元组1. 元组1234567891011121314151617181920212223# 元组创建后,元素不能改变,删除,也不能添加。元素的访问、切片、遍历与列表一致T = (1,2,3,4,5)print(T)print(type(T))T1 = (1)print(T1)print(type(T1)) # 必须要在1后面加个逗号 否则是个整型T2 = (1,2,3,4,5,6,'qi')for i in T2: print(i)print(T2[1:3])print(T2[1:6:2])T3 = 'qi' in T2print(T3)stu = s_id,s_name = (102,'张三') # 打包print(stu)print(s_id) # 解包print(s_name) # 解包
