为了账号安全,请及时绑定邮箱和手机立即绑定

Python编程基础

标签:
Java SSM 数据库
概述

本文将介绍Python编程基础的相关内容,帮助读者快速了解Python编程的基本概念和使用方法。我们将详细讲解Python语法、数据类型、函数、控制流程、数据结构、文件操作、异常处理、模块与包、模板与字符串格式化、面向对象编程等。通过本文,读者将掌握Python编程的基本技能。

1. Python简介

Python 是一种高级编程语言,由 Guido van Rossum 在1991年首次发布。Python 语言的设计哲学强调代码的可读性,简洁的语法让开发者能够用更少的代码表达想法。Python 是一种解释型语言,支持多种编程范式,包括面向对象、命令式、函数式以及过程式编程。

Python 的应用领域广泛,包括 Web 开发、数据科学、机器学习、人工智能、自动化脚本、游戏开发、网络爬虫等。Python 有丰富的库支持,如 NumPy、Pandas、Matplotlib、Scikit-learn 等,这些库为开发者提供了大量的工具和功能。

Python 版本

Python 目前有两个主要版本:Python 2 和 Python 3。Python 2 已经不再更新和维护,最新版本是 2.7.x,而 Python 3 的最新稳定版本是 3.11.x。Python 3 提供了对 Unicode 的更好支持,改进了标准库,并引入了许多其他改进。

安装 Python

Python 可以从其官方网站下载:https://www.python.org/downloads/

安装 Python 后,可以使用命令行工具检查安装是否成功。

python --version

如果安装成功,会显示 Python 的版本号。

IDE 和开发环境

Python 有许多集成开发环境(IDE)可以选择,如 PyCharm、VSCode、Jupyter Notebook 等。选择合适的 IDE 可以大大提高编程效率。

PyCharm

PyCharm 是一款专业的 Python IDE,分为社区版和专业版。社区版是免费的,满足大部分开发者的需要。

VSCode

VSCode 是一款流行的代码编辑器,支持多种语言,包括 Python。VSCode 拥有广泛的支持和丰富的插件市场。

Jupyter Notebook

Jupyter Notebook 是一个 Web 应用程序,允许用户创建和共享包含实时代码、方程、可视化和叙述性文本的文档。它非常适合用于数据科学和机器学习。

2. 变量与类型

Python 中的变量可以根据需要动态地改变其类型。Python 支持多种数据类型,包括整型、浮点型、字符串、布尔型、列表、元组、字典等。

基本类型

整型 (int)

x = 5
print(type(x))  # 输出: <class 'int'>

浮点型 (float)

y = 3.14
print(type(y))  # 输出: <class 'float'>

字符串 (str)

name = "John Doe"
print(type(name))  # 输出: <class 'str'>

布尔型 (bool)

is_true = True
print(type(is_true))  # 输出: <class 'bool'>

复合类型

列表 (list)

my_list = [1, 2, 3, 4, 5]
print(type(my_list))  # 输出: <class 'list'>

元组 (tuple)

my_tuple = (1, 2, 3, 4, 5)
print(type(my_tuple))  # 输出: <class 'tuple'>

字典 (dict)

my_dict = {"name": "Alice", "age": 25}
print(type(my_dict))  # 输出: <class 'dict'>

变量类型转换

可以使用内置函数 int(), float(), str(), bool() 来进行类型转换。

x = 5
print(float(x))  # 输出: 5.0

y = 3.14
print(int(y))  # 输出: 3

name = "100"
print(int(name))  # 输出: 100

is_true = True
print(int(is_true))  # 输出: 1

类型检查

可以使用 type() 函数检查变量的类型,或者使用 isinstance() 函数检查变量是否属于某个特定类型。

x = 5
print(type(x))  # 输出: <class 'int'>
print(isinstance(x, int))  # 输出: True

变量作用域

在 Python 中,变量的作用域可以分为局部变量和全局变量。

局部变量

局部变量是在函数内部定义的变量,只能在该函数内部访问。

def my_function():
    x = 10  # 局部变量
    print(x)

my_function()
print(x)  # 报错:x 未定义

全局变量

全局变量是在函数外部定义的变量,可以在该函数内外访问。

x = 10  # 全局变量

def my_function():
    print(x)

my_function()
print(x)

操作符

Python 中的操作符包括算术操作符、比较操作符、逻辑操作符等。

算术操作符

a = 10
b = 5
print(a + b)  # 输出: 15
print(a - b)  # 输出: 5
print(a * b)  # 输出: 50
print(a / b)  # 输出: 2.0
print(a % b)  # 输出: 0
print(a ** b)  # 输出: 100000

比较操作符

a = 10
b = 5
print(a == b)  # 输出: False
print(a != b)  # 输出: True
print(a > b)   # 输出: True
print(a < b)   # 输出: False
print(a >= b)  # 输出: True
print(a <= b)  # 输出: False

逻辑操作符

a = True
b = False
print(a and b)  # 输出: False
print(a or b)   # 输出: True
print(not a)    # 输出: False

示例

# 变量赋值
x = 10
y = 20

# 比较操作
print(x < y)  # 输出: True

# 逻辑操作
print(x > y and y > x)  # 输出: False
print(x > y or y > x)   # 输出: True
print(not (x > y))      # 输出: True
3. 函数

Python 中的函数由 def 关键字定义。函数可以有参数和返回值。函数可以用来封装可重用的代码片段。

定义函数

def hello_world():
    print("Hello, world!")

hello_world()  # 输出: Hello, world!

参数与返回值

函数可以有多个参数,也可以没有参数。函数也可以返回一个值。

def add(a, b):
    return a + b

result = add(5, 10)
print(result)  # 输出: 15

默认参数值

函数参数可以有默认值。

def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

greet("Alice")  # 输出: Hello, Alice!
greet("Bob", "Hi")  # 输出: Hi, Bob!

可变参数

函数也可以接受可变数量的参数。

def sum_numbers(*args):
    return sum(args)

result = sum_numbers(1, 2, 3, 4, 5)
print(result)  # 输出: 15

匿名函数 (lambda)

Python 中可以使用 lambda 关键字定义匿名函数。

add = lambda x, y: x + y
print(add(3, 4))  # 输出: 7

示例

def square(x):
    return x * x

result = square(5)
print(result)  # 输出: 25
4. 控制流程

Python 中的控制流程语句包括条件语句和循环语句。这些语句允许程序根据不同的条件执行不同的逻辑。

条件语句

条件语句使用 if, elif, else 关键字。

x = 10
y = 5

if x > y:
    print("x is greater than y")
elif x < y:
    print("x is less than y")
else:
    print("x is equal to y")

循环语句

Python 支持两种循环结构:for 循环和 while 循环。

for 循环

for i in range(5):
    print(i)
# 输出: 0 1 2 3 4

while 循环

count = 0
while count < 5:
    print(count)
    count += 1
# 输出: 0 1 2 3 4

示例

# 计算 1 到 10 的总和
total = 0
for i in range(1, 11):
    total += i
print(total)  # 输出: 55
5. 数据结构

Python 中的数据结构包括列表 (list)、元组 (tuple)、字典 (dict)、集合 (set)。这些数据结构可以用来存储和处理不同类型的数据。

列表 (list)

列表是有序的元素集合,允许重复且可以修改。

my_list = [1, 2, 3, 4, 5]
print(my_list[0])  # 输出: 1
my_list[0] = 10
print(my_list)  # 输出: [10, 2, 3, 4, 5]

常用方法

my_list.append(6)  # 在列表末尾添加元素
my_list.insert(1, 100)  # 在指定位置插入元素
my_list.remove(2)  # 移除列表中的某个值
my_list.pop(1)  # 移除指定位置的元素并返回
print(my_list)  # 输出: [10, 100, 3, 4, 5, 6]

元组 (tuple)

元组是有序的元素集合,不允许修改。

my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0])  # 输出: 1

字典 (dict)

字典是键值对的集合,允许重复的值,但键必须是唯一的。

my_dict = {"name": "Alice", "age": 25, "city": "Shanghai"}
print(my_dict["name"])  # 输出: Alice
my_dict["age"] = 30
print(my_dict)  # 输出: {'name': 'Alice', 'age': 30, 'city': 'Shanghai'}

常用方法

my_dict.pop("city")  # 移除键为 "city" 的条目
my_dict.update({"job": "Engineer"})  # 更新或添加键值对
print(my_dict)  # 输出: {'name': 'Alice', 'age': 30, 'job': 'Engineer'}

集合 (set)

集合是无序、不重复的元素集合。

my_set = {1, 2, 3, 4, 5}
print(3 in my_set)  # 输出: True
my_set.add(6)
my_set.remove(2)
print(my_set)  # 输出: {1, 3, 4, 5, 6}

示例

# 使用列表和字典
my_list = [1, 2, 3, 4, 5]
my_dict = {"name": "Alice", "age": 25}

# 遍历列表
for i in my_list:
    print(i)
# 输出: 1 2 3 4 5

# 访问字典中的值
print(my_dict["name"])  # 输出: Alice
6. 文件操作

Python 中可以使用内置函数 open() 打开文件,并使用 read(), write(), close() 等方法读写文件。

打开文件

file = open("example.txt", "r")

读取文件

file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

写入文件

file = open("example.txt", "w")
file.write("Hello, world!")
file.close()

示例

# 读取文件内容
file = open("example.txt", "r")
content = file.read()
print(content)  # 输出: Hello, world!
file.close()

# 写入文件内容
file = open("example.txt", "w")
file.write("New content")
file.close()

# 读取文件内容,检查是否写入成功
file = open("example.txt", "r")
content = file.read()
print(content)  # 输出: New content
file.close()
7. 异常处理

在 Python 中,异常处理用于捕获和处理程序执行中的错误。使用 try, except 语句可以捕获异常并进行处理。

tryexcept

try:
    x = 10 / 0  # 除以零会引发异常
except ZeroDivisionError:
    print("Cannot divide by zero")

elsefinally

else 子句在没有异常发生时执行,finally 子句无论是否发生异常都会执行。

try:
    x = 10 / 2
except ZeroDivisionError:
    print("Cannot divide by zero")
else:
    print("Division successful")
finally:
    print("This will always run")

示例

try:
    x = 10 / 0  # 除以零会引发异常
except ZeroDivisionError:
    print("Cannot divide by zero")
else:
    print("Division successful")
finally:
    print("This will always run")
# 输出:
# Cannot divide by zero
# This will always run
8. 模块与包

Python 中的模块和包用于组织和重用代码。模块是一个包含 Python 代码的文件,而包是一组相关的模块。

模块

模块可以包含变量、函数、类等。使用 import 语句可以导入模块。

import math

print(math.pi)  # 输出: 3.141592653589793

包是一个包含 __init__.py 文件的目录,可以包含多个模块。

# 假设有如下目录结构:
# my_package/
# ├── __init__.py
# └── utils.py
import my_package.utils

print(my_package.utils.add(1, 2))  # 输出: 3

示例

# 导入模块
import math

print(math.sqrt(16))  # 输出: 4.0
9. 模板与字符串格式化

Python 提供了多种方式来格式化和操作字符串,包括模板和格式化字符串。

格式化字符串

Python 3.6 之后引入了新的字符串格式化方法,称为 f-string。

name = "Alice"
age = 25

print(f"Name: {name}, Age: {age}")  # 输出: Name: Alice, Age: 25

字符串模板

字符串模板允许使用占位符替换为实际值。

from string import Template

template = Template("Name: $name, Age: $age")
result = template.substitute(name="Alice", age=25)
print(result)  # 输出: Name: Alice, Age: 25

示例

# 使用 f-string 格式化字符串
name = "Alice"
age = 25
print(f"Name: {name}, Age: {age}")  # 输出: Name: Alice, Age: 25

# 使用字符串模板
from string import Template
template = Template("Name: $name, Age: $age")
result = template.substitute(name="Alice", age=25)
print(result)  # 输出: Name: Alice, Age: 25
10. 面向对象编程

Python 是一种面向对象的编程语言,支持类和对象的概念。面向对象编程允许开发者通过定义和使用类来组织代码。

定义类

使用 class 关键字定义一个类。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def greet(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

# 创建对象
p = Person("Alice", 25)
p.greet()  # 输出: Hello, my name is Alice and I am 25 years old.

类的继承

继承允许一个类继承另一个类的属性和方法。

class Student(Person):
    def __init__(self, name, age, student_id):
        super().__init__(name, age)
        self.student_id = student_id

    def study(self):
        print(f"{self.name} is studying.")

# 创建对象
s = Student("Bob", 20, 12345)
s.greet()  # 输出: Hello, my name is Bob and I am 20 years old.
s.study()  # 输出: Bob is studying.

方法重写

子类可以重写父类的方法。

class Teacher(Person):
    def greet(self):
        print(f"Hello, I am {self.name}, a teacher.")

# 创建对象
t = Teacher("Charlie", 35)
t.greet()  # 输出: Hello, I am Charlie, a teacher.

示例

# 定义一个类
class Rectangle:
    def __init__(self, width, height):
        self.width = width
        self.height = height

    def area(self):
        return self.width * self.height

    def perimeter(self):
        return 2 * (self.width + self.height)

# 创建对象
r = Rectangle(10, 5)
print(r.area())  # 输出: 50
print(r.perimeter())  # 输出: 30
11. 高级主题

函数式编程

Python 支持函数式编程的一些特性,如高阶函数、匿名函数等。

高阶函数

高阶函数是接受函数作为参数或返回函数的函数。

def apply(func, x):
    return func(x)

def square(x):
    return x * x

result = apply(square, 5)
print(result)  # 输出: 25

匿名函数 (lambda)

numbers = [1, 2, 3, 4, 5]

squared = map(lambda x: x * x, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]

示例

# 使用高阶函数
def apply(func, x):
    return func(x)

def square(x):
    return x * x

result = apply(square, 5)
print(result)  # 输出: 25

# 使用 lambda 函数
numbers = [1, 2, 3, 4, 5]
squared = map(lambda x: x * x, numbers)
print(list(squared))  # 输出: [1, 4, 9, 16, 25]

数组与列表推导式

数组和列表推导式是一种简洁的创建数组和列表的方法。

numbers = [1, 2, 3, 4, 5]
squared_numbers = [x * x for x in numbers]
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]

示例

# 使用列表推导式
numbers = [1, 2, 3, 4, 5]
squared_numbers = [x * x for x in numbers]
print(squared_numbers)  # 输出: [1, 4, 9, 16, 25]
12. 总结

本文介绍了 Python 编程的基本概念,包括变量与类型、函数、控制流程、数据结构、文件操作、异常处理、模块与包、模板与字符串格式化、面向对象编程、高级主题等。Python 是一种功能强大且易于学习的编程语言,适合初学者和有经验的开发者。希望本文对你学习 Python 提供了帮助。

参考资料

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消