Skip to content

我将为您详细介绍Python基础语法入门的内容。让我按照目录结构逐一讲解。

2.1 变量命名规则与赋值操作

在Python中,变量就像是一个标签,贴在数据上让我们能够方便地引用它们。Python的变量命名有一套简单但重要的规则。

变量命名规则:

  • 只能包含字母、数字和下划线
  • 不能以数字开头
  • 不能使用Python关键字(如if、for、while等)
  • 区分大小写
  • 推荐使用小写字母和下划线的组合(snake_case)

赋值操作: Python使用=进行赋值,这实际上是将变量名绑定到某个对象上。

python
# 合法的变量命名示例
student_name = "张三"  # 字符串赋值
age = 18              # 整数赋值
is_student = True     # 布尔值赋值
score = 95.5          # 浮点数赋值

# 多重赋值 - Python的特色功能
x = y = z = 10        # 三个变量都等于10
a, b = 1, 2           # 同时给两个变量赋值

# 动态类型 - 同一个变量可以指向不同类型的数据
dynamic_var = "hello" # 现在是字符串
dynamic_var = 42      # 现在变成了整数
print(dynamic_var)    # 输出: 42

变量命名要见名知意,这样代码才容易理解和维护。比如用student_count比用sc要清晰得多。

2.2 基本输入输出:print() 与 input()

Python提供了简单直观的输入输出函数,让我们能够与程序进行交互。

print() 函数: 这是最常用的输出函数,可以输出各种类型的数据。

python
# 基本输出
print("Hello, World!")        # 输出字符串
print(42)                     # 输出数字
print(True)                   # 输出布尔值

# 输出多个值,用空格分隔
name = "李四"
age = 20
print("姓名:", name, "年龄:", age)  # 输出: 姓名: 李四 年龄: 20

# 自定义分隔符和结束符
print("A", "B", "C", sep="-")      # 输出: A-B-C
print("Hello", end=" ")            # 不换行,以空格结束
print("World")                     # 输出: Hello World (在同一行)

# 输出到文件(高级用法)
with open("output.txt", "w", encoding="utf-8") as f:
    print("保存到文件", file=f)    # 这会写入到文件而不是屏幕

input() 函数: 用于从用户那里获取输入,返回的总是字符串类型。

python
# 基本输入
user_input = input("请输入您的姓名: ")
print(f"您好, {user_input}!")

# 输入数字需要转换类型
try:
    age_input = input("请输入您的年龄: ")
    age = int(age_input)  # 将字符串转换为整数
    print(f"明年您就 {age + 1} 岁了")
except ValueError:
    print("请输入有效的数字!")

需要注意的是,input()函数总是返回字符串,如果需要数字,必须使用int()float()进行类型转换,并且要做好异常处理。

2.3 字符串格式化基础方法

字符串格式化是将变量插入到字符串中的重要技术。Python提供了多种格式化方法。

方法一:f-string(推荐,Python 3.6+) 这是最新也是最推荐的格式化方法,简洁高效。

python
name = "王五"
score = 88.5

# 基本f-string用法
message = f"{name}的分数是{score}"
print(message)  # 输出: 王五的分数是88.5

# 格式化数字
formatted_score = f"{name}的分数是{score:.1f}"  # 保留1位小数
print(formatted_score)  # 输出: 王五的分数是88.5

# 表达式计算
total = 100
percentage = f"得分率: {score/total*100:.2f}%"
print(percentage)  # 输出: 得分率: 88.50%

方法二:format() 方法 这是Python 2.7到3.5时代的主流方法,现在仍然广泛使用。

python
# 位置参数
message1 = "{}的分数是{}".format(name, score)
print(message1)  # 输出: 王五的分数是88.5

# 索引参数
message2 = "{1}的分数是{0}".format(score, name)
print(message2)  # 输出: 王五的分数是88.5

# 关键字参数
message3 = "{student_name}的分数是{student_score}".format(
    student_name=name, 
    student_score=score
)
print(message3)  # 输出: 王五的分数是88.5

# 格式化选项
message4 = "{name}的分数是{score:.1f}".format(name=name, score=score)
print(message4)  # 输出: 王五的分数是88.5

方法三:% 格式化(传统方法) 这是最老的格式化方法,虽然还能用,但不推荐在新代码中使用。

python
# %s 表示字符串,%f 表示浮点数,%d 表示整数
message = "%s的分数是%.1f" % (name, score)
print(message)  # 输出: 王五的分数是88.5

字符串格式化方法对比表

功能名称调用方法具体功能与注意事项
f-string格式化f"文本{变量}"Python 3.6+支持,性能最好,语法最简洁,推荐使用
format()格式化"文本{}".format(变量)兼容性好,功能强大,适合复杂格式化需求
%格式化"文本%s" % 变量老式方法,不推荐新项目使用,但需要了解以维护旧代码

完整示例:用户信息格式化输出

python
# 获取用户输入并格式化输出
def format_user_info():
    """演示完整的输入输出和字符串格式化"""
    try:
        # 获取用户输入
        name = input("请输入姓名: ").strip()  # strip()去除首尾空格
        if not name:  # 检查是否为空
            raise ValueError("姓名不能为空")
            
        age_str = input("请输入年龄: ").strip()
        age = int(age_str)
        if age <= 0 or age > 150:
            raise ValueError("年龄必须在1-150之间")
            
        height_str = input("请输入身高(米): ").strip()
        height = float(height_str)
        if height <= 0 or height > 3:
            raise ValueError("身高必须在0-3米之间")
            
        # 使用f-string格式化输出
        print("\n=== 用户信息 ===")
        print(f"姓名: {name}")
        print(f"年龄: {age}岁")
        print(f"身高: {height:.2f}米")
        print(f"明年年龄: {age + 1}岁")
        
    except ValueError as e:
        print(f"输入错误: {e}")
    except KeyboardInterrupt:
        print("\n程序被用户中断")
    except Exception as e:
        print(f"发生未知错误: {e}")

# 调用函数(取消注释来运行)
# format_user_info()

这个示例展示了如何结合输入、类型转换、异常处理和字符串格式化来创建一个完整的用户交互程序。记住,在实际开发中,总是要考虑用户可能输入的各种情况,并做好相应的错误处理。

2.4 本章练习

  1. 定义两个变量 a = 5b = 3,输出它们的和、差、积、商。
  2. 把字符串 'Python''3.8' 拼接在一起,用 print 输出结果,中间用空格隔开。
  3. 编写代码,让用户输入名字,然后打印 你好,名字!
  4. 已知圆半径 r = 2,计算圆的面积(取圆周率 3.14),输出结果。