【学习笔记】《Python编程 从入门到实践》第2章:变量命名规则、字符串操作与数值类型详解

第2章 变量和简单数据类型

本章目标:学习使用变量、字符串、数字以及注释,理解 Python 数据类型基础。


2.1 运行 hello_world.py 时发生的情况

python 复制代码
print("Hello Python world!")
  • .py 扩展名告诉编辑器这是一个 Python 程序
  • Python 解释器读取整个程序,逐行确定每个单词的含义
  • 编辑器的语法突出 功能用不同颜色区分代码不同部分(如 print 显示为蓝色,字符串显示为橙色)

2.2 变量

python 复制代码
message = "Hello Python world!"
print(message)

变量可以随时修改,Python 始终记录最新值:

python 复制代码
message = "Hello Python world!"
print(message)

message = "Hello Python Crash Course world!"
print(message)

输出:

复制代码
Hello Python world!
Hello Python Crash Course world!

2.2.1 变量的命名和使用

规则 说明
只能包含字母、数字、下划线 不能以数字开头,如 1_message 非法
不能包含空格 用下划线分隔单词,如 greeting_message
不能使用Python 关键字和函数名 printforif 等(见附录 A.4)
简短且有描述性 name > nstudent_name > s_n
慎用小写 l 和大写 O 容易与数字 1 和 0 混淆
全小写 当前阶段建议变量名全部使用小写

2.2.2 使用变量时避免命名错误

python 复制代码
# ❌ 拼写错误 ------ NameError
message = "Hello Python Crash Course reader!"
print(mesage)       # 拼写少了个 s

出现的 traceback:

复制代码
Traceback (most recent call last):
  File "hello_world.py", line 2, in <module>
    print(mesage)
NameError: name 'mesage' is not defined

NameError 的两种常见原因

  1. 使用变量前忘记赋值
  2. 变量名拼写不正确

2.3 字符串

字符串就是一系列字符,用引号括起的都是字符串。

python 复制代码
"This is a string."
'This is also a string.'

单引号和双引号可灵活使用,方便在字符串中包含引号和撇号:

python 复制代码
'I told my friend, "Python is my favorite language!"'
"The language 'Python' is named after Monty Python, not the snake."
"One of Python's strengths is its diverse and supportive community."

2.3.1 使用方法修改字符串的大小写

.title() --- 每个单词首字母大写

python 复制代码
name = "ada lovelace"
print(name.title())   # Ada Lovelace

.upper().lower() --- 全部大写 / 全部小写

python 复制代码
name = "Ada Lovelace"
print(name.upper())   # ADA LOVELACE
print(name.lower())   # ada lovelace

lower() 在存储用户输入时很常用:先转换为小写再存储,显示时再转换为合适的大小写。

2.3.2 合并(拼接)字符串

+ 拼接字符串:

python 复制代码
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)                     # ada lovelace

# 拼接 + title() 结合使用
print("Hello, " + full_name.title() + "!")   # Hello, Ada Lovelace!

# 将整条消息存入变量
message = "Hello, " + full_name.title() + "!"
print(message)

2.3.3 使用制表符或换行符来添加空白

转义符 效果
\t 制表符(缩进)
\n 换行符
\n\t 换行 + 缩进
python 复制代码
>>> print("Python")
Python

>>> print("\tPython")
    Python

>>> print("Languages:\nPython\nC\nJavaScript")
Languages:
Python
C
JavaScript

>>> print("Languages:\n\tPython\n\tC\n\tJavaScript")
Languages:
    Python
    C
    JavaScript

2.3.4 删除空白

方法 效果
rstrip() 删除字符串末尾的空白
lstrip() 删除字符串开头的空白
strip() 删除字符串两端的空白
python 复制代码
# rstrip() --- 临时删除
>>> favorite_language = 'python '
>>> favorite_language
'python '
>>> favorite_language.rstrip()
'python'
>>> favorite_language
'python '           # 注意:原变量未改变

# rstrip() --- 永久删除(赋值回原变量)
>>> favorite_language = 'python '
>>> favorite_language = favorite_language.rstrip()
>>> favorite_language
'python'

# lstrip() 和 strip()
>>> favorite_language = ' python '
>>> favorite_language.rstrip()
' python'
>>> favorite_language.lstrip()
'python '
>>> favorite_language.strip()
'python'

实际应用中,这些方法常用于清理用户输入数据

2.3.5 使用字符串时避免语法错误

撇号引发的问题:在单引号字符串中包含撇号会导致语法错误。

✅ 正确做法(用双引号括字符串):

python 复制代码
message = "One of Python's strengths is its diverse community."
print(message)

❌ 错误做法(单引号中的撇号被误认为字符串结束):

python 复制代码
message = 'One of Python's strengths is its diverse community.'   # ❌

出现的错误:

复制代码
  File "apostrophe.py", line 1
    message = 'One of Python's strengths is its diverse community.'
                            ^
SyntaxError: invalid syntax

编辑器的语法突出功能可帮助你快速发现引号不匹配的问题。

2.3.6 Python 2 中的 print 语句

python 复制代码
# Python 2 中 print 是语句,不需要括号
>>> print "Hello Python 2.7 world!"
Hello Python 2.7 world!

Python 3 中 print 是函数,括号必不可少


2.4 数字

2.4.1 整数

运算符 说明 示例
+ 2 + 35
- 3 - 21
* 2 * 36
/ 3 / 21.5
** 乘方 3 ** 29

运算次序:支持括号修改优先级

python 复制代码
>>> 2 + 3 * 4
14
>>> (2 + 3) * 4
20

2.4.2 浮点数

python 复制代码
>>> 0.1 + 0.1
0.2
>>> 2 * 0.1
0.2

⚠️ 注意:浮点数精度问题(所有编程语言都存在):

python 复制代码
>>> 0.2 + 0.1
0.30000000000000004
>>> 3 * 0.1
0.30000000000000004

暂时忽略多余的小数位数,第二部分项目中将学习处理方法。

2.4.3 使用函数 str() 避免类型错误

python 复制代码
# ❌ TypeError: 不能直接将整数拼接到字符串
age = 23
message = "Happy " + age + "rd Birthday!"    # 报错
print(message)

错误信息:

复制代码
TypeError: Can't convert 'int' object to str implicitly

✅ 正确做法 --- 用 str() 将整数转换为字符串:

python 复制代码
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)    # Happy 23rd Birthday!

2.4.4 Python 2 中的整数

python 复制代码
# Python 2 中整数除法的结果为整数(截断小数)
>>> 3 / 2
1

# 确保至少一个操作数为浮点数
>>> 3.0 / 2
1.5

2.5 注释

2.5.1 如何编写注释

# 标识,# 后面的内容被 Python 解释器忽略:

python 复制代码
# 向大家问好
print("Hello Python people!")

2.5.2 该编写什么样的注释

  • 阐述代码做什么 以及如何做的
  • 团队协作时注释尤为重要
  • 不确定是否要写注释时,先写了再说(删注释比加注释容易)

2.6 Python 之禅

在终端执行 import this 即可查看完整内容:

复制代码
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Simple is better than complex.
Complex is better than complicated.
Readability counts.
There should be one-- and preferably only one --obvious way to do it.
Now is better than never.
...

核心理念

  • 优美胜于丑陋 --- 代码可以写得漂亮优雅
  • 简单胜于复杂 --- 两个解决方案都可行时,选简单的
  • 复杂胜于凌乱 --- 没有简单方案时,选最简单的可行方案
  • 可读性很重要 --- 复杂代码也要易于理解
  • 现在去做胜于不做 --- 先写出可运行的代码,再持续改进

动手试一试

2-1 简单消息

python 复制代码
message = "Hello Python world!"
print(message)

2-2 多条简单消息

python 复制代码
message = "Hello Python world!"
print(message)

message = "Hello Python Crash Course world!"
print(message)

2-3 个性化消息

python 复制代码
name = "Eric"
print("Hello " + name + ", would you like to learn some Python today?")

2-4 调整名字的大小写

python 复制代码
name = "ada lovelace"
print(name.lower())
print(name.upper())
print(name.title())

2-5 名言

python 复制代码
print('Albert Einstein once said, "A person who never made a mistake never tried anything new."')

2-6 名言 2

python 复制代码
famous_person = "Albert Einstein"
message = famous_person + ' once said, "A person who never made a mistake never tried anything new."'
print(message)

2-7 剔除人名中的空白

python 复制代码
name = "\tAlbert Einstein\n"
print(name)
print(name.lstrip())
print(name.rstrip())
print(name.strip())

2-8 数字 8

python 复制代码
print(5 + 3)
print(10 - 2)
print(4 * 2)
print(16 / 2)

2-9 最喜欢的数字

python 复制代码
favorite_number = 7
print("My favorite number is " + str(favorite_number))

2-10 添加注释

python 复制代码
# 作者:xxx  日期:xxxx-xx-xx
# 这个程序打印一条问候消息
print("Hello Python people!")

2-11 Python 之禅

在终端执行:

python 复制代码
>>> import this

代码块汇总

python 复制代码
# 变量赋值与使用
message = "Hello Python world!"
print(message)

# 字符串大小写
name = "ada lovelace"
print(name.title())     # Ada Lovelace
print(name.upper())     # ADA LOVELACE
print(name.lower())     # ada lovelace

# 字符串拼接
first_name = "ada"
last_name = "lovelace"
full_name = first_name + " " + last_name
print(full_name)

# 空白处理
print("\tPython")        # 制表符
print("Languages:\nPython\nC\nJavaScript")   # 换行符

favorite_language = ' python '
favorite_language.rstrip()   # 删除末尾空白
favorite_language.lstrip()   # 删除开头空白
favorite_language.strip()    # 删除两端空白

# str() 转换
age = 23
message = "Happy " + str(age) + "rd Birthday!"
print(message)

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

# Python 之禅
import this

常见错误 / 陷阱

错误类型 示例 说明 解决
NameError print(mesage) 变量名拼写错误 检查拼写一致性
SyntaxError 单引号内含撇号 引号使用不当 改用双引号包裹
TypeError 字符串 + 整数 类型不匹配 str() 转换
浮点数精度 0.2 + 0.1 结果含多余小数 暂时忽略,后续学习处理
Python 2 除法 3 / 21 整数除法截断 确保操作数为浮点数

复习要点

  • 变量命名规则:字母/数字/下划线,不能数字开头,不能包含空格
  • 字符串可用单引号或双引号
  • title() / upper() / lower() --- 字符串大小写转换
  • + 拼接字符串
  • \t 制表符、\n 换行符
  • rstrip() / lstrip() / strip() --- 删除空白
  • ** 乘方运算符
  • str() 将非字符串值转换为字符串
  • # 编写注释
  • import this 查看 Python 之禅
  • 先写出可运行的代码,再持续改进

下一章,我们去看看Python中的列表是怎么个事

相关推荐
AI视觉网奇2 小时前
blender底部对齐
开发语言·python·blender
E_ICEBLUE2 小时前
Python 教程:快速复制 Excel 工作表
python·excel
是三旬老汉。2 小时前
宇树G1-D机器人端推理开发记录
python·机器人
databook2 小时前
轨迹的蓝图:方程求解与交点计算
python·数学·动效
他们叫我阿冠2 小时前
Day4学习--MySQL高级
数据库·学习·mysql
隔壁大炮2 小时前
MNE-Python 第1天学习笔记:环境搭建与数据初探
python·eeg·bci·mne·脑电数据处理
晚烛2 小时前
CANN 模型热更新:不停机模型切换与无缝更新实战指南
开发语言·python
ZPC82102 小时前
单物体最优抓取轨迹生成
python·opencv·计算机视觉
GEO从入门到精通2 小时前
GEO学习书籍或文章推荐哪本?
人工智能·学习