继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Python基础编程

陪伴而非守候
关注TA
已关注
手记 393
粉丝 62
获赞 285
概述

本文详细介绍了Python编程的基础知识,包括安装环境、基本语法和控制流程语句等。文章还讲解了函数与模块、异常处理、文件操作和面向对象编程等高级特性,并提供了丰富的示例代码和详细的解释,适合初学者学习和参考。

1. Python简介

Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。它的设计哲学强调代码的可读性和简洁性,这使得开发效率较高。Python语法简洁清晰,目前已广泛应用于科学计算、人工智能、网络爬虫、Web开发、自动化运维及数据分析等多个领域。Python拥有庞大的标准库和第三方库,为开发者提供了极大的便利。

Python的版本主要有两个分支:Python 2和Python 3。Python 2已经停止更新,目前主流使用的是Python 3。Python安装简单,可以通过官方网站下载安装包或使用虚拟环境来安装。

Python支持多种编程范式,包括面向对象(Object-Oriented Programming,OOP)、函数式编程(Functional Programming)等。Python的语法简洁明了,入门容易,适合初学者学习。

2. 安装Python环境

2.1 安装Python

Python安装分两步:

  1. 下载Python安装包:访问Python官方网站(https://www.python.org/),选择适合的操作系统版本进行下载,例如Windows、macOS或Linux
  2. 安装Python:安装过程中,确保勾选“Add Python to PATH”,这样就可以在命令行直接运行Python程序。

2.2 配置环境变量

对于Windows用户,需要手动配置环境变量。以下是配置步骤:

  1. 打开“系统属性”对话框,选择“高级系统设置”。
  2. 点击“环境变量”按钮。
  3. 在“系统变量”部分,找到Path变量并编辑。
  4. 添加Python的安装路径(例如C:\Python39)。

配置好环境变量后,打开命令行窗口,输入python --version,确认Python已正确安装。

3. Python基本语法

3.1 编写并运行Python程序

Python程序可以使用任何文本编辑器创建,保存为.py文件。例如,创建一个名为hello.py的文件:

print("Hello World!")

在命令行中,使用python hello.py运行程序。

3.2 Python注释

Python注释以#开头,用于解释代码,不会被Python解释器执行。

# 这是一个注释
print("Hello World!")  # 这是一个注释

3.3 Python变量与类型

Python中的变量不需要声明类型,解释器会根据赋值自动识别类型。Python支持多种数据类型:

  • 整数 (int)
  • 浮点数 (float)
  • 字符串 (str)
  • 布尔型 (bool)
  • 列表 (list)
  • 元组 (tuple)
  • 字典 (dict)
  • 集合 (set)

3.3.1 整数和浮点数

# 整数
a = 10
print(type(a))  # 输出: <class 'int'>

# 浮点数
b = 10.0
print(type(b))  # 输出: <class 'float'>

3.3.2 字符串

字符串可以使用单引号或双引号包围。

# 使用单引号
str1 = 'Hello'
print(type(str1))  # 输出: <class 'str'>

# 使用双引号
str2 = "World!"
print(type(str2))  # 输出: <class 'str'>

3.3.3 布尔型

布尔值只有两种,即TrueFalse

# 布尔值
is_true = True
is_false = False
print(type(is_true))  # 输出: <class 'bool'>

3.3.4 列表

列表是有序的集合,每个元素之间由逗号分隔,用方括号包围。

# 创建列表
list1 = [1, 2, 3, 4]
print(type(list1))  # 输出: <class 'list'>

# 访问元素
print(list1[0])  # 输出: 1
print(list1[1])  # 输出: 2

3.3.5 元组

元组是不可变的序列,用圆括号包围。

# 创建元组
tuple1 = (1, 2, 3, 4)
print(type(tuple1))  # 输出: <class 'tuple'>

# 访问元素
print(tuple1[0])  # 输出: 1
print(tuple1[1])  # 输出: 2

3.3.6 字典

字典是键值对的集合,键必须是不可变类型(如字符串、数字、元组),值可以是任意类型。

# 创建字典
dict1 = {'name': 'Alice', 'age': 20}
print(type(dict1))  # 输出: <class 'dict'>

# 访问值
print(dict1['name'])  # 输出: Alice
print(dict1['age'])  # 输出: 20

3.3.7 集合

集合是无序不重复的元素序列,用花括号包围。

# 创建集合
set1 = {1, 2, 3, 4, 5}
print(type(set1))  # 输出: <class 'set'>

# 重复元素会被自动去除
set2 = {1, 2, 2, 3, 4, 4, 5}
print(set2)  # 输出: {1, 2, 3, 4, 5}

3.4 Python运算符

Python支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符和赋值运算符。

3.4.1 算术运算符

a = 10
b = 3

# 加法
print(a + b)  # 输出: 13

# 减法
print(a - b)  # 输出: 7

# 乘法
print(a * b)  # 输出: 30

# 除法
print(a / b)  # 输出: 3.3333333333333335

# 取模
print(a % b)  # 输出: 1

# 幂运算
print(a ** b)  # 输出: 1000

3.4.2 比较运算符

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

3.4.3 逻辑运算符

a = True
b = False

# 逻辑与
print(a and b)  # 输出: False

# 逻辑或
print(a or b)  # 输出: True

# 逻辑非
print(not a)  # 输出: False

3.4.4 位运算符

a = 60  # 二进制:0011 1100
b = 13  # 二进制:0000 1101

# 按位与
print(a & b)  # 输出: 12 二进制:0000 1100

# 按位或
print(a | b)  # 输出: 61 二进制:0011 1101

# 按位异或
print(a ^ b)  # 输出: 49 二进制:0011 0001

# 按位取反
print(~a)  # 输出: -61 二进制:1100 0011

# 左移
print(a << 2)  # 输出: 240 二进制:1111 0000

# 右移
print(a >> 2)  # 输出: 15 二进制:0000 1111
4. 控制流程语句

控制流程语句用于控制程序的执行流程,包括条件语句和循环语句。

4.1 if语句

if语句根据条件选择执行。

a = 10

if a > 5:
    print("a大于5")
else:
    print("a不大于5")

4.2 if-elif-else语句

if-elif-else语句用于多条件选择判断。

a = 10

if a > 10:
    print("a大于10")
elif a == 10:
    print("a等于10")
else:
    print("a小于10")

4.3 循环语句

循环语句包括for循环和while循环。

4.3.1 for循环

for循环用于遍历序列中的元素。

# 遍历列表
for i in [1, 2, 3, 4]:
    print(i)

# 遍历字符串
for c in "Hello":
    print(c)

4.3.2 while循环

while循环在条件满足时重复执行。

a = 0

while a < 5:
    print(a)
    a += 1

# 使用break结束循环
a = 0
while a < 5:
    if a == 3:
        break
    print(a)
    a += 1

# 使用continue跳过循环
a = 0
while a < 5:
    a += 1
    if a == 3:
        continue
    print(a)

4.4 pass语句

pass语句用于占位,不做任何操作。

# pass语句
for i in [1, 2, 3, 4]:
    pass
5. 函数与模块

5.1 函数定义

函数用于封装一段可重复使用的代码。

def greet(name):
    print("Hello, " + name)

greet("Alice")

5.2 函数参数

函数参数包括位置参数、关键字参数、默认参数和可变参数。

# 位置参数
def add(a, b):
    return a + b

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

# 关键字参数
def introduce(name, age):
    print(f"Name: {name}, Age: {age}")

introduce(age=20, name="Alice")  # 输出: Name: Alice, Age: 20

# 默认参数
def introduce(name, age=20):
    print(f"Name: {name}, Age: {age}")

introduce("Alice")  # 输出: Name: Alice, Age: 20

# 可变参数
def add(*args):
    return sum(args)

print(add(1, 2, 3))  # 输出: 6

5.3 模块

模块是Python程序的基本单元,可以包含函数、类和变量。使用import语句导入模块。

import math

print(math.sqrt(9))  # 输出: 3.0

5.4 自定义模块

自定义模块可以放在文件中,使用import语句导入。

# mymodule.py
def greet(name):
    print(f"Hello, {name}")

# main.py
import mymodule

mymodule.greet("Alice")  # 输出: Hello, Alice
6. 异常处理

异常处理用于捕获并处理程序中的错误。

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print(f"错误发生:{e}")
finally:
    print("程序结束")

6.1 try-except语句

try-except语句用于捕获并处理异常。

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print(f"错误发生:{e}")

6.2 try-except-else语句

else子句在没有异常发生时执行。

try:
    a = 10 / 2
except ZeroDivisionError as e:
    print(f"错误发生:{e}")
else:
    print("没有错误发生")

6.3 try-except-finally语句

finally子句无论是否发生异常都会执行。

try:
    a = 10 / 0
except ZeroDivisionError as e:
    print(f"错误发生:{e}")
finally:
    print("程序结束")
7. 文件操作

Python提供了处理文件的基本操作,包括打开、读取、写入和关闭文件。

7.1 打开文件

使用open()函数打开文件,指定模式。

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

7.2 读取文件

使用read()readline()readlines()方法读取文件内容。

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

f = open("example.txt", "r")
print(f.readline())
f.close()

f = open("example.txt", "r")
print(f.readlines())
f.close()

7.3 写入文件

使用write()writelines()方法写入文件内容。

f = open("example.txt", "w")
f.write("Hello, World!")
f.close()

f = open("example.txt", "w")
f.writelines(["Hello, ", "World!\n"])
f.close()

7.4 文件的其他操作

使用seek()方法移动文件指针,使用tell()方法获取当前指针位置。

f = open("example.txt", "r")
print(f.tell())  # 输出: 0
print(f.readline())
print(f.tell())  # 输出: 6
f.seek(0)
print(f.tell())  # 输出: 0
f.close()

7.5 使用with语句

使用with语句可以自动管理文件的打开和关闭。

with open("example.txt", "r") as f:
    print(f.read())
8. 面向对象编程

面向对象编程是Python的一种重要编程范式,通过类和对象进行程序设计。

8.1 类定义

类定义使用class关键字。

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

    def introduce(self):
        print(f"Name: {self.name}, Age: {self.age}")

p = Person("Alice", 20)
p.introduce()  # 输出: Name: Alice, Age: 20

8.2 类属性和方法

类属性和方法定义在类内部。

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

    def introduce(self):
        print(f"Name: {self.name}, Age: {self.age}")

p = Person("Alice", 20)
p.introduce()  # 输出: Name: Alice, Age: 20

8.3 继承

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

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

    def introduce(self):
        super().introduce()
        print(f"Grade: {self.grade}")

s = Student("Bob", 22, "A")
s.introduce()  # 输出: Name: Bob, Age: 22, Grade: A

8.4 多态

多态允许子类覆盖父类的方法。

class Teacher(Person):
    def introduce(self):
        print(f"Name: {self.name}, Age: {self.age}, Profession: Teacher")

t = Teacher("Charlie", 30)
t.introduce()  # 输出: Name: Charlie, Age: 30, Profession: Teacher
9. Python高级特性

9.1 列表推导式

列表推导式用于快速生成列表。

# 生成列表
numbers = [x for x in range(10)]
print(numbers)  # 输出: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

# 条件筛选
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers)  # 输出: [0, 2, 4, 6, 8]

9.2 生成器

生成器用于创建可迭代对象,节省内存。

def count_up_to(n):
    i = 1
    while i <= n:
        yield i
        i += 1

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

9.3 装饰器

装饰器用于修改函数或类的行为。

def my_decorator(func):
    def wrapper():
        print("Something is happening before the function is called.")
        func()
        print("Something is happening after the function is called.")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()

9.4 属性装饰器

属性装饰器用于修改类的属性访问。

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

    @property
    def name(self):
        return self._name

    @name.setter
    def name(self, value):
        self._name = value

p = Person("Alice")
print(p.name)  # 输出: Alice
p.name = "Bob"
print(p.name)  # 输出: Bob
10. 总结与展望

Python因其简洁的语法和强大的功能,已经成为了最受欢迎的编程语言之一。本文从安装Python环境、基本语法、控制流程语句、函数与模块、异常处理、文件操作、面向对象编程以及高级特性等方面进行了详细介绍。通过学习这些内容,读者能够掌握Python的基础知识,并能够运用这些知识开发简单的Python程序。

Python社区资源丰富,可以在官方网站、慕课网(https://www.imooc.com/)等学习平台上找到大量的学习资源。Python的强大之处不仅仅在于其基础语法,还在于其丰富的扩展库和强大的生态系统。希望读者能够不断深入学习,掌握更多的高级技能

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP