手记

Python基础入门教程

Python是一种高级编程语言,广泛应用于数据分析、机器学习、网络爬虫、人工智能等多个领域。本教程将从Python的基础知识开始,逐步介绍Python的基本语法、变量与类型、条件语句、循环语句、函数以及文件操作等。对于初学者来说,学习Python可以从安装Python开始。

安装Python

Python可以从其官方网站下载并安装。安装Python后,建议同时安装pip,这是Python的软件包管理工具,通过它可以直接安装第三方库。安装完成后,可以在命令行或终端中输入python --versionpython3 --version来检查Python的版本。

Python基础知识

简介

Python语言简洁易懂,语法简单,可读性强。Python支持多种编程范式,包括命令式、函数式和面向对象编程。Python的语法允许开发者用较少的代码实现复杂的功能。

输出和输入

输出和输入是编程中最基本的操作。Python提供了内置的print()函数来输出信息,同时也提供了input()函数来读取用户的输入。

输出信息

print("Hello, world!")

读取用户输入

name = input("请输入您的姓名:")
print("欢迎您," + name)

编程环境

Python程序可以在任何支持Python的环境中运行。常见的编程环境包括命令行、文本编辑器、IDE(集成开发环境)等。

  • 命令行:可以在命令行中直接运行Python程序。
  • 文本编辑器:例如VS Code、Sublime Text等。
  • IDE:例如PyCharm、Spyder等。

语法特点

Python语法简洁,强调代码可读性。例如,Python使用缩进来定义代码块,而不是其他语言中使用的花括号或关键字。

if x > 0:
    print("x大于0")
else:
    print("x不大于0")

代码注释

Python使用#符号来添加注释。注释不会被Python解释器执行。

# 这是一个单行注释
"""
这是
一个多行
注释
"""
变量与类型

在Python中,变量是用来存储数据的容器。Python中的变量无需显式声明类型,类型由赋值给变量的值决定。

基本类型

Python中有几种基本的数据类型,包括整型、浮点型、布尔型、字符串等。

整型

整型用于表示整数,可以是正数、负数或零。整型变量可以进行基本的数学运算。

x = 10
y = -5
z = x + y
print(z)  # 输出5

浮点型

浮点型用于表示小数。浮点型变量同样支持基本的数学运算。

a = 3.14
b = 2.71
c = a * b
print(c)  # 输出8.5134

布尔型

布尔型用于表示真/假,只有两个值:TrueFalse。布尔型常用于条件判断。

bool1 = True
bool2 = False
print(bool1 and bool2)  # 输出False

字符串

字符串用于表示文本数据,可以使用单引号、双引号或三引号来定义字符串。

str1 = 'Hello'
str2 = "World"
str3 = """这是一个
多行字符串"""
print(str3)

变量赋值与类型转换

Python允许动态类型,变量的类型可以在程序运行时改变。

x = 10  # 整型
x = "Hello, world!"  # 字符串

变量也可以通过内置函数进行类型转换。

x = 10
x = str(x)  # 转换为字符串
print(type(x))  # 输出<class 'str'>

常用数学运算

Python提供了丰富的数学运算符,包括加法、减法、乘法、除法、取模、幂等运算。

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

字符串操作

字符串是Python中最常用的数据类型之一。字符串支持多种操作,如拼接、切片、格式化等。

字符串拼接

str1 = "Hello"
str2 = "world"
print(str1 + " " + str2)  # 输出Hello world

字符串切片

字符串切片用于获取字符串的一部分。

str1 = "Hello, world!"
print(str1[0:5])  # 输出Hello
print(str1[-6:])  # 输出world!

字符串格式化

字符串格式化可以将其他类型的变量转换成字符串并插入到字符串中。

name = "Alice"
age = 20
print("姓名:{}, 年龄:{}".format(name, age))  # 输出姓名:Alice, 年龄:20

列表、元组和字典

除了基本的数据类型外,Python还提供了更复杂的数据结构,如列表、元组和字典。

列表

列表是Python中最常用的数据结构之一,可以存储任意类型的多个元素。

list1 = [1, 2, 3]
list2 = ["a", "b", "c"]
list3 = [True, False, 10.5]

列表的操作包括添加、删除、修改等。

list1 = [1, 2, 3]
list1.append(4)  # 添加一个元素
list1.insert(1, 0)  # 在索引1处插入一个元素
list1.pop(1)  # 删除索引1处的元素
print(list1)  # 输出[0, 2, 3, 4]

元组

元组与列表类似,但是元组是不可变的,一旦创建就不能修改。

tuple1 = (1, 2, 3)
print(tuple1[1])  # 输出2

字典

字典是一种键值对的数据结构,键是唯一的。

dict1 = {"name": "Alice", "age": 20, "gender": "female"}
print(dict1["name"])  # 输出Alice

字典的操作包括添加、删除、修改等。

dict1 = {"name": "Alice", "age": 20}
dict1["gender"] = "female"  # 添加一个键值对
print(dict1)  # 输出{'name': 'Alice', 'age': 20, 'gender': 'female'}
条件语句

条件语句用于根据条件执行不同的代码逻辑。Python中常用的条件语句包括if、elif和else。

if语句

if语句用于判断一个条件是否为真。

x = 10
if x > 0:
    print("x大于0")

if-else语句

if-else语句用于判断一个条件是否为真,并在条件不为真时执行另一组代码。

x = -5
if x > 0:
    print("x大于0")
else:
    print("x不大于0")

if-elif-else语句

if-elif-else语句用于判断多个条件,并执行第一个为真的条件下的代码。

x = 0
if x > 0:
    print("x大于0")
elif x < 0:
    print("x小于0")
else:
    print("x等于0")

复杂条件表达式

条件表达式可以使用逻辑运算符andornot

x = 10
y = 5
if (x > 0) and (y > 0):
    print("x和y都大于0")
else:
    print("x或y不大于0")

条件表达式简写

Python还支持条件表达式的简写形式,称为三元运算符。

x = 10
result = "x大于0" if x > 0 else "x不大于0"
print(result)  # 输出x大于0
循环语句

循环语句用于重复执行一段代码,直到满足某个条件为止。Python中常用的循环语句包括for循环和while循环。

for循环

for循环用于遍历序列(如列表、元组、字符串)中的元素。

list1 = [1, 2, 3]
for item in list1:
    print(item)

for循环也可以用于遍历字典的键值对。

dict1 = {"name": "Alice", "age": 20}
for key, value in dict1.items():
    print(key, value)

while循环

while循环用于重复执行一段代码,直到条件不再满足为止。

x = 0
while x < 5:
    print(x)
    x += 1

循环控制语句

循环控制语句breakcontinue用于提前退出循环或跳过循环的当前迭代。

for x in range(10):
    if x == 5:
        break
    print(x)
for x in range(10):
    if x % 2 == 0:
        continue
    print(x)

无限循环

无限循环可以通过while循环实现,但通常需要在循环体内使用break来退出循环。

while True:
    user_input = input("请输入一个数字:")
    if user_input == "exit":
        break
    print("您输入了:", user_input)
函数

函数是可重用的代码块,用于执行特定的任务。Python中的函数定义使用def关键字。

定义函数

定义一个简单的函数。

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

调用函数。

greet("Alice")

函数参数

函数可以接受多个参数。

def add(a, b):
    return a + b
print(add(1, 2))  # 输出3

默认参数

函数参数可以设置默认值。

def power(base, exponent=2):
    return base ** exponent
print(power(2))  # 输出4
print(power(2, 3))  # 输出8

关键字参数

调用函数时可以使用关键字参数,直接指定参数名。

def greet(name, greeting):
    print(greeting + ", " + name)
greet(name="Alice", greeting="Hello")

可变参数

Python支持可变参数,可以传递任意数量的参数。

def add(*args):
    return sum(args)
print(add(1, 2, 3, 4))  # 输出10

匿名函数

匿名函数使用lambda关键字定义,适用于简单的单行函数。

add = lambda x, y: x + y
print(add(1, 2))  # 输出3

函数返回值

函数可以返回一个或多个值。

def divide(a, b):
    quotient = a // b
    remainder = a % b
    return quotient, remainder
q, r = divide(10, 3)
print("商:", q, "余数:", r)  # 输出商:3 余数:1

函数文档字符串

Python支持在函数定义中添加文档字符串,用于说明函数的功能、参数和返回值。

def add(a, b):
    """
    计算两个数的和
    :param a: 第一个数
    :param b: 第二个数
    :return: 两个数的和
    """
    return a + b
print(add.__doc__)

不变参数与可变参数

不变参数是传递给函数的具体值,而可变参数是传递给函数的变量或列表。

def add(a, b):
    return a + b
numbers = [1, 2, 3]
print(add(*numbers))  # 输出6
文件操作

文件操作是程序与外部数据交互的重要方式。Python提供了丰富的文件操作功能。

文件读写

文件操作通常涉及文件的打开、读写和关闭。Python使用open()函数打开文件,使用close()函数关闭文件。

# 写入文件
file = open("example.txt", "w")
file.write("Hello, world!")
file.close()

# 读取文件
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

文件模式

文件打开模式包括:

  • r: 读取文件(默认模式)。
  • w: 写入文件(会覆盖原有内容)。
  • a: 追加写入文件(不会覆盖原有内容)。
  • b: 二进制模式。
  • t: 文本模式(默认模式)。
  • +: 打开模式的补充,可以用于读写。
  • x: 创建新文件并写入(如果文件已存在则会抛出异常)。
# 创建并写入新文件
file = open("example.txt", "x")
file.write("Hello, world!")
file.close()

# 追加写入文件
file = open("example.txt", "a")
file.write(" 追加内容")
file.close()

# 读取二进制文件
file = open("example.jpg", "rb")
content = file.read()
file.close()

使用上下文管理器

Python提供了上下文管理器(with语句),可以在文件操作后自动关闭文件。

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

文件读写方法

除了基本的read()write()方法外,Python还提供了其他文件读写方法。

# 读取文件的前N个字符
file = open("example.txt", "r")
content = file.read(5)
print(content)  # 输出Hello

# 逐行读取文件
file = open("example.txt", "r")
for line in file:
    print(line)
file.close()

# 写入多行内容
file = open("example.txt", "w")
file.writelines(["Hello\n", "World\n"])
file.close()

文件切片

文件切片可以读取文件的一部分内容。

file = open("example.txt", "r")
content = file.read(5)  # 读取前5个字符
print(content)  # 输出Hello
content = file.read(5)  # 从当前位置读取5个字符
print(content)  # 输出 world
file.close()
实践示例

为巩固所学知识,下面给出一个综合示例,使用上述所学知识编写一个简单的程序。

程序描述

编写一个程序,该程序读取一个包含学生姓名和成绩的文件,计算学生总成绩,并将结果输出到另一个文件中。

实现步骤

  1. 读取包含学生姓名和成绩的文件。
  2. 使用字典存储每个学生的姓名和成绩。
  3. 计算每个学生的总成绩。
  4. 将结果写入另一个文件。

示例代码

def read_scores(filename):
    """
    读取包含学生姓名和成绩的文件。
    :param filename: 文件名
    :return: 存储学生姓名和成绩的字典
    """
    scores = {}
    with open(filename, "r") as file:
        for line in file:
            name, score = line.strip().split()
            scores[name] = int(score)
    return scores

def calculate_totals(scores):
    """
    计算每个学生的总成绩。
    :param scores: 存储学生姓名和成绩的字典
    :return: 存储学生姓名和总成绩的字典
    """
    totals = {}
    for name, score in scores.items():
        if name not in totals:
            totals[name] = 0
        totals[name] += score
    return totals

def write_totals(filename, totals):
    """
    将结果写入另一个文件。
    :param filename: 文件名
    :param totals: 存储学生姓名和总成绩的字典
    """
    with open(filename, "w") as file:
        for name, total in totals.items():
            file.write(f"{name}: {total}\n")

def main():
    scores = read_scores("scores.txt")
    totals = calculate_totals(scores)
    write_totals("totals.txt", totals)

if __name__ == "__main__":
    main()

运行示例

假设scores.txt文件内容如下:

Alice 80
Bob 90
Alice 85
Bob 95

程序将输出一个名为totals.txt的文件,内容如下:


Alice: 165
Bob: 185
``

通过本教程,读者可以了解Python的基础语法、变量与类型、条件语句、循环语句、函数以及文件操作等内容。希望读者能够通过具体的示例代码,更加深入地理解Python编程的基本知识。
0人推荐
随时随地看视频
慕课网APP