当前位置:首页 > 笔记 > 正文内容

Python 学习笔记

小楼听雨3个月前 (05-20)笔记39

t010d1433ef39d6d0cf.jpg

一、Python 简介

Python 是一种高级、解释型、动态类型的编程语言,由荷兰程序员吉多・范罗苏姆(Guido van Rossum)在 20 世纪 80 年代末开发,并于 1991 年首次发布。Python 以其简洁、易读、可维护的代码风格而闻名,遵循 “优雅胜于丑陋”“明了胜于晦涩” 等设计哲学,这使得它成为初学者入门编程的首选语言之一,同时也受到专业开发者的广泛青睐。
Python 具有跨平台特性,可以在 Windows、Linux、macOS 等主流操作系统上运行,并且拥有庞大的标准库和第三方库,涵盖了从网络编程、数据处理、机器学习到图形界面开发等几乎所有领域的功能,极大地提高了开发效率。此外,Python 还支持多种编程范式,包括面向对象编程、函数式编程和过程式编程,为开发者提供了灵活的编程方式。

二、Python 基础语法

2.1 变量与数据类型

在 Python 中,变量不需要预先声明类型,直接赋值即可。例如:
x = 5  # 整数类型y = 3.14  # 浮点数类型name = "John"  # 字符串类型is_student = True  # 布尔类型
Python 支持常见的数据类型,除了上述提到的整数(int)、浮点数(float)、字符串(str)、布尔值(bool)外,还有列表(list)、元组(tuple)、集合(set)和字典(dict)等复合数据类型。
列表是一个有序的可变序列,用方括号[]表示,可以包含不同类型的元素,例如:
fruits = ["apple", "banana", "cherry"]fruits.append("orange")  # 在列表末尾添加元素fruits[1] = "pear"  # 修改列表中的元素
元组是一个有序的不可变序列,用圆括号()表示,一旦创建,其元素不能被修改,常用于存储不可变的数据集合:
point = (3, 4)
集合是一个无序且不重复的元素集合,用花括号{}表示,支持集合的交、并、差等操作:
set1 = {1, 2, 3}set2 = {3, 4, 5}union_set = set1.union(set2)  # 求并集
字典是一种键值对(key-value)的数据结构,也用花括号{}表示,通过键来快速访问对应的值:
person = {"name": "Alice", "age": 25, "city": "New York"}print(person["name"])  # 输出 "Alice"

2.2 运算符

Python 支持多种运算符,包括算术运算符(+、-、*、/、%、**、//)、比较运算符(==、!=、<、>、<=、>=)、逻辑运算符(and、or、not)、赋值运算符(=、+=、-=、*=、/=等)、成员运算符(in、not in)和身份运算符(is、is not)。例如:
a = 10b = 3print(a + b)  # 输出 13print(a > b)  # 输出 Trueprint("a" in "abc")  # 输出 True

2.3 控制流语句

Python 使用缩进来表示代码块,而不是像其他语言那样使用大括号。常见的控制流语句包括条件语句(if-elif-else)和循环语句(for和while)。
条件语句示例:
age = 18if age < 18:print("未成年")elif age == 18:print("刚刚成年")else:print("已成年")
for循环常用于遍历序列(如列表、字符串),例如:
fruits = ["apple", "banana", "cherry"]for fruit in fruits:print(fruit)
while循环则在条件为真时重复执行代码块,例如:
i = 0while i < 5:print(i)i += 1

三、函数与模块

3.1 函数定义与调用

在 Python 中,使用def关键字定义函数。函数可以有参数和返回值,例如:
def add(a, b):return a + bresult = add(3, 5)print(result)  # 输出 8
函数参数可以有默认值,调用时如果不传入该参数,则使用默认值:
def greet(name="Guest"):print(f"Hello, {name}!")greet()  # 输出 "Hello, Guest!"greet("Alice")  # 输出 "Hello, Alice!"

3.2 模块与包

模块是包含 Python 定义和语句的文件,一个模块可以包含函数、类和变量。通过import语句可以导入模块,使用模块中的功能。例如,导入 Python 标准库中的math模块:
import mathprint(math.sqrt(16))  # 输出 4.0
也可以使用from...import...语句导入模块中的特定部分:
from math import piprint(pi)  # 输出 3.141592653589793
包是一种管理 Python 模块命名空间的方式,它是一个包含__init__.py文件的目录,__init__.py文件可以为空,也可以包含初始化代码。通过创建包结构,可以更好地组织大型项目的代码。

四、面向对象编程

4.1 类与对象

在 Python 中,使用class关键字定义类。类是对象的模板,包含属性(变量)和方法(函数)。例如:
class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):print(f"{self.name} says Woof!")my_dog = Dog("Buddy", 3)my_dog.bark()  # 输出 "Buddy says Woof!"
__init__方法是类的构造函数,在创建对象时自动调用,用于初始化对象的属性。

4.2 继承与多态

继承允许一个类从另一个类(父类)继承属性和方法,从而实现代码的复用。子类可以重写父类的方法,实现多态性。例如:
class Animal:def speak(self):print("The animal makes a sound")class Cat(Animal):def speak(self):print("Meow")animal = Animal()cat = Cat()animal.speak()  # 输出 "The animal makes a sound"cat.speak()  # 输出 "Meow"

五、文件操作

Python 提供了丰富的文件操作功能,使用open()函数打开文件,通过文件对象的方法进行读写操作。常见的文件打开模式有:
  • 'r':只读模式(默认)

  • 'w':写入模式(覆盖原有内容)

  • 'a':追加模式

  • 'rb':二进制只读模式

  • 'wb':二进制写入模式

读取文件示例:
with open('test.txt', 'r') as file:content = file.read()print(content)
with语句会在代码块结束后自动关闭文件,避免资源泄漏。写入文件示例:
with open('test.txt', 'w') as file:file.write("Hello, World!")

六、异常处理

在程序运行过程中,可能会出现各种错误,如文件不存在、除零错误等。Python 使用try-except语句来捕获和处理异常,例如:
try:result = 10 / 0except ZeroDivisionError:print("不能除以零")
还可以使用finally块来执行无论是否发生异常都必须执行的代码,例如关闭文件或释放资源:
file = Nonetry:file = open('test.txt', 'r')content = file.read()except FileNotFoundError:print("文件不存在")finally:if file:file.close()

七、Python 高级特性

7.1 列表推导式

列表推导式是一种简洁的创建列表的方式,它可以在一行代码中根据已有列表或其他可迭代对象生成新的列表。例如:
numbers = [1, 2, 3, 4, 5]squared_numbers = [x ** 2 for x in numbers]print(squared_numbers)  # 输出 [1, 4, 9, 16, 25]
还可以添加条件判断:
even_numbers = [x for x in numbers if x % 2 == 0]print(even_numbers)  # 输出 [2, 4]

7.2 生成器

生成器是一种特殊的迭代器,它不会一次性生成所有数据,而是在需要时生成数据,从而节省内存。可以使用生成器表达式或定义带有yield关键字的函数来创建生成器。生成器表达式类似于列表推导式,但使用圆括号():
numbers = (x ** 2 for x in range(10))for num in numbers:print(num)
定义生成器函数示例:
def fibonacci():a, b = 0, 1while True:yield aa, b = b, a + bfib = fibonacci()for _ in range(10):print(next(fib))

7.3 装饰器

装饰器是一种用于修改函数或类行为的高级技术,它可以在不修改原有函数代码的情况下,为函数添加新的功能。例如,创建一个简单的计时装饰器:
import timedef timer(func):def wrapper():start = time.time()func()end = time.time()print(f"函数执行时间: {end - start} 秒")return wrapper@timerdef say_hello():time.sleep(2)print("Hello!")say_hello()
上述代码中,@timer语法是装饰器的语法糖,等价于say_hello = timer(say_hello)。
以上就是 Python 学习的核心知识点,通过不断实践和学习更多的库与框架,能够进一步提升 Python 编程能力,开发出更复杂、更强大的应用程序。
这份笔记涵盖了 Python 基础到高级特性,能助你打下坚实基础。若你想深入学习某部分内容,或有其他学习需求,欢迎随时和我说。

扫描二维码推送至手机访问。

版权声明:本文由小楼听雨发布,如需转载请注明出处。

本文链接:https://www.xyz5668.top/?id=24

分享给朋友:
返回列表

没有更早的文章了...

下一篇:php语言的特性

“Python 学习笔记” 的相关文章

php语言的特性

php语言的特性

PHP(Hypertext Preprocessor)是一种广泛应用于 Web 开发的服务器端脚本语言,特别适合动态网页和应用程序开发。以下是 PHP 语言的主要特性:1. 开源免费PHP 是开源软件,任何人都可以自由使用、修改和分发。其源代码公开透明,开发者社区活跃,不断更新和完善功能,降低了开发...

在实际开发中,如何选择合适的PHP框架?

在实际开发中,如何选择合适的PHP框架?

在实际开发中,选择合适的 PHP 框架需要综合考虑项目需求、团队技术栈、性能要求、社区支持等多方面因素。以下是关键决策因素和选择建议:1. 明确项目需求根据项目类型和规模选择框架:小型项目 / 快速原型:选择轻量级框架,如 CodeIgniter、Fat-Free Framework&nb...

nginx服务器,安装配置详解

nginx服务器,安装配置详解

一、Nginx 安装指南1. Ubuntu/Debian 系统安装bash# 更新包索引sudo apt update# 安装 Nginxsudo apt install nginx# 启动 Ngin...

如何在Nginx中配置反向代理?

如何在Nginx中配置反向代理?

在 Nginx 中配置反向代理是将客户端请求转发到后端服务器的常用方法,下面为你详细介绍配置步骤和常见场景。一、基础反向代理配置1. 单服务器反向代理下面是一个将所有请求转发到后端服务器的基础配置:nginxserver {     listen&...

如何在Nginx反向代理中实现负载均衡?

如何在Nginx反向代理中实现负载均衡?

在 Nginx 中实现负载均衡主要通过upstream模块完成,下面详细介绍负载均衡的配置方法、调度算法及高级应用。一、基本负载均衡配置1. 负载均衡组定义使用upstream块定义一组后端服务器:nginxupstream backend_servers {  &n...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。