Python编程基础
浅小兮Python编程基础
Python是一种广泛使用的高级编程语言,因其易于学习和使用的特点而深受欢迎。它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进来区分代码块,而不是使用大括号或关键字)。
搭建Python环境
搭建Python环境通常包括以下几个步骤:
1. 安装Python:
操作截图太费时间就只写代码啥,看的懂就行,以后有时间重新一遍哈 --浅小兮(▽)
-
根据您的操作系统,您可能需要下载并运行安装程序。
-
在安装过程中,确保将Python添加到系统环境变量中,这样您就可以在命令行中任何地方运行Python。安装Python的步骤会因操作系统的不同而有所差异。以下是针对不同操作系统的基本安装指南:
Windows
-
访问Python官方网站下载页面(https://www.python.org/downloads/windows/)。
-
下载适用于Windows的Python安装程序(通常是
.exe
文件)。 -
双击下载的安装程序并启动安装向导。
-
在安装向导中,确保选中“Add Python to PATH”选项,这样可以在命令提示符中直接运行Python。
-
完成安装向导,Python将安装在您的系统中。
macOS
macOS系统通常预装了Python,但版本可能较旧。为了安装最新版本的Python,您可以使用Homebrew(macOS的包管理器):
-
打开终端(Terminal)。
-
如果尚未安装Homebrew,可以通过运行以下命令来安装:
1
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
使用Homebrew安装Python:
1
brew install python
Linux
在Linux上,Python通常已经预装在大多数发行版中。您可以使用发行版的包管理器来安装或更新Python。例如,在Ubuntu或Debian系统上,您可以使用以下命令:
1 | sudo apt update |
在Fedora上,使用以下命令:
1 | sudo dnf install python3 |
在Arch Linux上,使用以下命令:
1 | sudo pacman -S python |
验证安装安装完成后,您可以通过打开命令行工具并运行以下命令来验证Python是否正确安装:
1 | python --version # 或 python3 --version,取决于您的操作系统 |
如果安装成功,该命令将显示安装的Python版本号。
注意事项
-
确保下载与您的操作系统兼容的Python版本。
-
在安装过程中,建议将Python添加到系统的环境变量中,这样可以在任何地方通过命令行运行Python。
-
如果您需要在系统上同时安装多个Python版本,可以考虑使用版本管理工具,如
pyenv
。安装Python后,您可以开始编写Python代码,并通过命令行运行您的脚本。 -
打开命令行工具(在Windows上是CMD或PowerShell,在macOS或Linux上是Terminal)。
-
输入
python --version
或python3 --version
(取决于您的操作系统和安装的Python版本)来验证Python是否正确安装。
2. 安装IDE或代码编辑器(Python):
(博主建议初学使用Visual Studio Code因为完全免费,进阶用PyCharm ,小编用的是IntelliJ IDEA,因为懒得下载太多,常见的包括PyCharm、Spyder和Visual Studio Code。等等)
JetBrains PyCharm 是一款强大的 Python 集成开发环境(IDE),它提供了许多便利的功能,如代码自动完成、调试、版本控制和许多其他特性,这些都有助于提高开发效率。以下是安装 PyCharm 的基本步骤:
一,下载 PyCharm
-
访问 JetBrains 官方网站 PyCharm 下载页面:https://www.jetbrains.com/pycharm/download/
-
选择适合您操作系统的版本(Community 或 Professional)。Community 版本是免费的,而 Professional 版本提供了更多高级功能,需要购买许可证。
这里建议使用社区版(Community),如果你和小编一样还是学生的话可以白嫖一年旗舰版(Professional)
ε≡٩(๑>₃<)۶ 我就是白嫖哒也可以通过一些别的方式获取破解的,坏处就是无法更新或者是更新后无法使用,写的代码泄露了没有版本保护你可以详细在网页上找找,打算以后专门写一篇关于这个破解版本的怎么弄
二,安装 PyCharm
Windows
-
下载
.exe
安装文件。直接下载最新版_ -
双击下载的文件开始安装。
-
遵循安装向导的指示完成安装。
macOS(没用过暂时写不了一点点)
-
下载
.dmg
安装包。 -
双击下载的文件,然后拖拽 PyCharm 到应用程序文件夹中。
Linux(有时间用ubuntu试试)
-
下载
.tar.gz
压缩包。 -
解压下载的文件到您选择的目录。
-
在解压后的目录中,通常会有一个
bin
文件夹,里面包含一个可执行的pycharm.sh
脚本。 -
运行
bin/pycharm.sh
脚本来启动 PyCharm。
Python基础知识
Python 是一种广泛使用的高级编程语言,以其易读性和简洁性而闻名。下面是一些 Python 编程的基础知识:
给大家推荐一个专门学习Python的网站菜鸟教程可以给小编一个赞吗(▽)支持一下博主
1,Python 语法和基础概念
-
变量:用来存储数据。Python 是动态类型的,不需要显式声明变量类型。
1
2x = 10 # 整数 (int)
y = "Hello" # 字符串 (str) -
数据类型:Python 中的常见数据类型包括整数(
int
)、浮点数(float
)、字符串(str
)、列表(list
)、元组(tuple
)、字典(dict
)和集合(set
)。 -
控制流:
- 条件语句:使用
if
、elif
和else
来执行不同的代码块。1
2
3
4
5
6if x > 10:
print("x is greater than 10")
elif x == 10:
print("x is equal to 10")
else:
print("x is less than 10") - 循环:使用
for
和while
进行循环。1
2for i in range(5):
print(i)1
2
3while x > 0:
print(x)
x -= 1
- 条件语句:使用
-
函数:使用
def
关键字定义函数。1
2
3def greet(name):
return f"Hello, {name}!"
print(greet("Alice")) -
模块和包:使用
import
语句导入模块或包。1
2import math
print(math.sqrt(16)) # 输出 4.0 -
异常处理:使用
try
和except
捕获和处理异常。1
2
3
4try:
x = 1 / 0
except ZeroDivisionError:
print("Cannot divide by zero!")
2,Python 内置函数和数据结构
-
列表(List):有序的集合,可以包含不同类型的元素。
1
my_list = [1, 2, 3, "four", "five"]
-
元组(Tuple):不可变的有序集合。
1
my_tuple = (1, 2, 3)
-
字典(Dictionary):键值对的集合。
1
my_dict = {"name": "Alice", "age": 25}
-
集合(Set):无序且元素唯一的集合。
1
my_set = {1, 2, 3}
-
字符串(String):文本序列。
1
my_string = "Hello, World!"
-
内置函数:如
print()
、len()
、type()
等。1
2print("Hello, World!")
length = len(my_list)
3,Python 编程习惯
-
缩进:Python 使用缩进来表示代码块,而不是大括号
{}
或其他分隔符。通常,每个缩进级别使用 4 个空格。例如:1
2
3
4if True:
print("True")
else:
print("False") -
语句结尾:Python 语句通常不需要分号
;
结尾。但是,如果要在同一行编写多条语句,则必须使用分号分隔。例如:1
a = 1; b = 2
-
注释:使用
#
符号来添加单行注释。例如:1
# 这是一条注释
-
多行语句:如果一条语句太长,可以使用反斜杠
\
来分行。例如:1
2a_long_sentence = "This is a very long sentence " \
"that spans multiple lines." -
字符串引号:Python 中可以使用单引号
'
、双引号"
或三引号"""
来表示字符串。例如:1
2
3single_quotes = 'single quotes'
double_quotes = "double quotes"
triple_quotes = """triple quotes""" -
变量命名:变量名必须以字母(a-z, A-Z)或下划线
_
开头,后面可以跟任意数量的字母、数字或下划线。变量名区分大小写。例如:1
valid_variable = 5
-
函数定义:使用
def
关键字定义函数,后面跟函数名和括号内的参数列表。函数体缩进。例如:1
2def my_function(param1, param2):
return param1 + param2 -
类定义:使用
class
关键字定义类,后面跟类名和括号内的父类列表(如果有)。类体缩进。例如:1
2
3class MyClass:
def __init__(self, value):
self.value = value -
模块导入:使用
import
语句导入模块,可以使用from...import...
导入模块中的特定元素。例如:1
2import math
from datetime import datetime -
异常处理:使用
try
和except
块来处理异常。例如:1
2
3
4try:
# 尝试执行的代码
except Exception as e:
# 异常处理 -
循环和条件语句:
for
和while
循环以及if
、elif
和else
条件语句不需要大括号,而是通过缩进来定义代码块。例如:1
2for i in range(5):
print(i)1
2
3
4if condition:
print("True")
else:
print("False")
字符串与数值
在 Python 中,字符串(str
)和数值(整数 int
、浮点数 float
)是两种基本数据类型,它们分别用于表示文本数据和数值数据。以下是一些关于字符串和数值的基本操作和转换。
字符串(str
)
字符串是用于表示文本的序列类型,可以包含字母、数字、标点符号和空格。在 Python 中,字符串可以使用单引号 '
、双引号 "
或三引号 """
来创建。
1 | s1 = '这是一个字符串' |
数值(int
和 float
)
数值数据类型用于表示数字。int
类型表示整数,而 float
类型表示带小数的数值。
1 | n1 = 10 # int |
字符串与数值的转换
-
数值转字符串:使用
str()
函数将数值转换为字符串。
1 | num = 123 |
-
字符串转数值:使用
int()
函数将字符串转换为整数,使用float()
函数将字符串转换为浮点数。
1 | s_num = "456" |
如果字符串不能转换为有效的数值,这些函数将引发 ValueError
异常。
字符串与数值的格式化
可以使用字符串的 format()
方法或 f-string(Python 3.6+)来格式化包含数值的字符串。
1 | num = 123 |
数值运算
数值可以进行基本的算术运算,如加法、减法、乘法、除法等。
1 | sum = n1 + n2 # 加法 |
字符串运算
字符串可以进行拼接、重复和索引等操作。
1 | concatenated = s1 + s2 # 字符串拼接 |
计算圆形的各参数
要计算圆形的参数,我们需要知道圆的半径(r)。圆的直径(d)是半径的两倍,即 d = 2r。圆的周长(C)和面积(A)可以通过以下公式计算:
-
周长(C):C = 2πr
-
面积(A):A = πr²
其中,π(pi)是一个数学常数,大约等于 3.14159。以下是一个Python函数,用于计算给定半径的圆的直径、周长和面积:
1 | import math |
输出将是:
1 | 半径: 5 |
这个函数使用了Python的math
模块来获取π的值。周长和面积的计算结果使用:.2f
格式化字符串来保留两位小数。
Python数据结构
Python 提供了多种内置数据结构,用于存储和操作数据。这些数据结构包括列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)和字符串(String)。每种数据结构都有其独特的特性和用途。
列表(List)
列表是 Python 中最常用的数据结构之一。它是一个有序的元素集合,可以包含不同类型的元素,并且大小可变。
1 | my_list = [1, 2, 3, "four", "five"] |
元组(Tuple)
元组与列表类似,但它是不可变的,这意味着一旦创建了元组,就不能修改它。
1 | my_tuple = (1, 2, 3, "four", "five") |
字典(Dictionary)
字典是一种键值对集合,每个键都是唯一的,并且与一个值相关联。键和值之间使用冒号分隔。
1 | my_dict = {"name": "John", "age": 30, "city": "New York"} |
集合(Set)
集合是一个无序的不重复元素集。它用于消除重复项,并执行数学上的集合运算,如并集、交集和差集。
1 | my_set = {1, 2, 3, 4, 5} |
字符串(String)
字符串是字符的序列。在 Python 中,字符串是不可变的,这意味着一旦创建了字符串,就不能修改它。
1 | my_string = "Hello, World!" |
常用操作
-
添加元素:列表和集合可以使用
.append()
(列表)或.add()
(集合)方法添加元素。 -
访问元素:列表、元组和字符串可以使用索引访问元素,如
my_list[0]
。 -
更新元素:列表和字典可以更新元素,如
my_list[0] = "new_value"
。 -
删除元素:列表和字典可以使用
del
关键字删除元素,如del my_list[0]
。 -
遍历:可以使用
for
循环遍历列表、元组、字典和集合。
示例
1 | #列表 |
创建列表并进行增删改查操作
1 | #创建一个空列表 |
创建字典并进行增删改查
1 | #创建一个空字典 |
考试成绩划分(老师布置的一个小测验,使用try
和except
语句)
1 | def grade_score(score): |
实现一组数的连加和连乘
实现一组数的连加(累加)和连乘(累乘)可以通过for循环来实现。
1 | #定义一组数 |
输出将会是:
1 | 连加结果:15 |
此外,Python还提供了内置函数sum()
和math.prod()
(在Python 3.8及以上版本中)来分别实现连加和连乘的功能:
1 | import math |
冒牌排序法排序
冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。以下是一个冒泡排序的Python实现示例:
1 | def bubble_sort(arr): |
输出将会是:
1 | 排序后的数组: |
在这个示例中,我们定义了一个名为bubble_sort
的函数,它接受一个列表arr
作为参数。函数内部有两个嵌套的for
循环:外层循环控制总共需要多少轮排序,内层循环负责每一轮的元素比较和交换。如果发现当前元素大于下一个元素,就交换它们的位置。这样,每一轮排序后,最大的元素都会“冒泡”到数组的末尾。经过n-1
轮排序后,数组就被完全排序了。
函数
在编程中,函数是一段可重复使用的代码,用于执行一个特定的任务。在Python中,你可以定义自己的函数(称为用户定义函数),也可以使用Python内置的函数。函数通过def关键字来定义,后面跟着函数名和括号内的参数列表。函数体是缩进的代码块,包含了要执行的任务。
使用def定义函数
使用 def
关键字在Python中定义函数非常直接。下面是一些基本的步骤和规则:
-
使用
def
关键字开始函数定义。 -
紧接着
def
关键字后面是函数的名称,函数名称应该遵循标识符的命名规则(例如,它可以包含字母、数字和下划线,但不能以数字开头)。 -
函数名称后面是一对圆括号,括号内可以包含零个或多个参数。参数之间用逗号分隔。
-
圆括号后面是一个冒号
:
。 -
函数体是缩进的代码块,它包含了函数执行的操作。下面是一个简单的例子,定义了一个名为
greet
的函数,它接受一个参数name
并打印一个问候语:
1 | def greet(name): |
在这个例子中,greet
是函数的名称,name
是函数的参数。当调用 greet("张三")
时,函数会打印出 你好,张三!
。函数可以有不同的参数类型,如位置参数、默认参数、关键字参数和任意参数。函数也可以有返回值,使用 return
语句来指定返回值。如果没有 return
语句,函数默认返回 None
。下面是一个带有返回值的函数示例:
1 | def add(a, b): |
在这个例子中,add
函数接受两个参数 a
和 b
,返回它们的和。调用 add(10, 20)
后,函数返回值 30
被赋值给变量 result
,然后打印出来。
使用lambda创建匿名函数
在Python中,你可以使用lambda
关键字来创建匿名函数,这些函数没有函数名,但可以有参数和表达式。匿名函数通常用于简单的、一次性的任务,或者作为其他函数的参数。匿名函数的基本语法如下:
1 | lambda arguments: expression |
-
arguments
:参数列表,可以是任意数量和类型的参数。 -
expression
:一个表达式,计算后返回一个值。匿名函数可以作为其他函数的参数,例如在map()
、filter()
和sorted()
函数中。下面是一些使用lambda
创建匿名函数的例子:
1 | #创建一个匿名函数,该函数将传入的数字乘以2 |
在这个例子中,我们首先创建了一个匿名函数double
,它接受一个参数x
并返回x * 2
。然后,我们使用map()
函数将这个匿名函数应用于一个列表numbers
,得到一个新的列表doubled_numbers
,其中包含原始列表中每个数字乘以2的结果。接着,我们使用filter()
函数创建了一个新列表even_numbers
,其中包含原始列表中所有偶数。
面向对象编程
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将数据和操作数据的方法组合在一起,形成对象。这种方法强调将数据和操作数据的函数封装在一个称为类的结构中。面向对象编程的主要特点包括封装、继承和多态。
封装
封装是将数据(属性)和操作数据的方法(方法或函数)组合在一起,形成对象。这样可以隐藏对象的内部实现细节,只暴露对外接口。
1 | class Car: |
在这个例子中,Car
类封装了汽车的制造商、型号和年份,以及启动和停止汽车的方法。
继承
继承是面向对象编程中的一种机制,允许你创建一个新类(子类),该类继承自一个现有类(父类)。子类可以继承父类的属性和方法,并添加新的属性和方法。
1 | class Vehicle: |
在这个例子中,Car
类继承自 Vehicle
类。Car
类除了继承 Vehicle
类的属性和方法外,还添加了一个新的属性 num_doors
和一个新方法 honk
。
多态
多态是指不同的对象对同一消息可以给出不同的响应。在Python中,多态通常通过继承来实现。
1 | class Animal: |
在这个例子中,Animal
类有一个方法 make_sound
,Dog
和 Cat
类都继承了这个方法。但是,它们给出了不同的实现。当我们调用 make_sound
方法时,会根据对象的实际类型执行相应的实现。
文件基础
在Python中,文件处理是一个非常重要的部分。文件是计算机存储数据的容器,可以用来存储各种类型的数据,如文本、二进制数据等。Python提供了多种方式来读取和写入文件,包括内置的文件操作方法和io
模块。
文件操作方法
Python提供了内置的文件操作方法,如open()
、read()
、write()
、close()
等。
-
open():用于打开文件,并返回一个文件对象。
-
read():从文件中读取内容。
-
write():向文件中写入内容。
-
close():关闭文件,释放资源。
文件读写
读取文件
1 | #打开文件 |
写入文件
1 | #打开文件 |
文件模式
在open()
函数中,你可以指定文件模式,常见的模式有:
-
'r'
:只读模式(默认)。 -
'w'
:写入模式,如果文件已存在,则会覆盖原文件。 -
'a'
:追加模式,向文件末尾添加内容。 -
'b'
:二进制模式。 -
'+'
:读写模式。你可以组合这些模式,例如'r+'
表示可读可写,'w+'
表示可写可读,但会覆盖原文件。
文件路径
在Python中,文件路径可以是一个字符串,指定文件在文件系统中的位置。文件路径可以是相对路径或绝对路径。
-
相对路径:相对于当前工作目录。
-
绝对路径:从文件系统的根目录开始的完整路径。
文件编码
在Python中,默认情况下,文本文件是以UTF-8编码打开的。如果你需要以其他编码打开文件,可以在open()
函数中指定编码。
1 | with open('example.txt', 'r', encoding='utf-16') as file: |
异常处理
在文件操作中,可能会遇到各种异常,如文件不存在、权限问题等。使用try
和except
语句可以捕获并处理这些异常。
1 | try: |
模块和第三方库
在Python中,模块(Module)是一组相关的Python文件的集合,用于组织和重用代码。每个模块都有一个唯一的名称,通常以.py
为扩展名。模块可以包含变量、函数、类和文档字符串等。
导入模块
要使用模块中的功能,你需要导入它。Python提供了多种导入方式:
-
导入整个模块:
1
import module_name
使用
module_name
作为前缀来访问模块中的元素。 -
导入特定函数或变量:
1
from module_name import function_name, variable_name
直接使用
function_name
和variable_name
来访问。 -
导入并重命名:
1
from module_name import function_name as new_name
将
function_name
重命名为new_name
。
第三方库
第三方库是由Python社区开发的库,可以扩展Python的功能。它们通常用于特定任务,如科学计算、网络编程、数据库操作等。
安装第三方库
安装第三方库通常使用pip
(Python的包管理器)。你可以使用以下命令来安装库:
1 | pip install library_name |
例如,要安装requests
库(用于HTTP请求),你可以运行:
1 | pip install requests |
安装后,你就可以在Python代码中导入并使用这个库了。
导入第三方库
使用第三方库时,你需要导入它。这通常在import
语句中完成,如下所示:
1 | import requests |
或者,如果你只使用库中的特定函数或变量:
1 | from requests import get |
然后,你就可以使用get
函数来发起HTTP请求了。
示例
假设你想要使用requests
库来获取一个网页的内容:
1 | import requests |
在这个例子中,我们导入了requests
库,并使用requests.get()
函数来获取网页内容。如果请求成功,我们打印出网页的文本内容;如果请求失败,我们打印出状态码。模块和第三方库是Python强大的功能之一,它们使得编写高效的代码变得更加容易。通过导入和使用这些库,你可以利用社区开发的代码来解决各种问题。