Python 30天学习笔记:第2天到第4天
这几天的内容看起来都是基础,但其实很重要。 如果把 Python 比作盖房子,那么变量是用来放东西的盒子,运算符是做计算和判断的工具,字符串则是程序处理文本最常见的对象之一。
这篇笔记记录我在学习《30 Days of Python》中文版第 2、3、4 天时学到的重点、示例和自己的理解,方便以后回顾。
一、第2天:变量、内置函数与数据类型
1. 什么是变量
变量可以理解成一个“带名字的盒子”,我们可以把数据装进去,后面随时拿出来使用。
first_name = 'DDW'
age = 18
is_student = True
上面这段代码里:
first_name保存的是字符串age保存的是整数is_student保存的是布尔值
变量名最好见名知意,不要总写成 a、b、x 这种自己过几天都看不懂的名字。
2. Python 常见数据类型
目前接触到的基础类型主要有这些:
| 类型 | 例子 | 说明 |
|---|---|---|
str | 'hello' | 字符串 |
int | 10 | 整数 |
float | 3.14 | 浮点数 |
bool | True / False | 布尔值 |
list | [1, 2, 3] | 列表 |
dict | {'name': 'DDW'} | 字典 |
tuple | (1, 2, 3) | 元组 |
set | {1, 2, 3} | 集合 |
可以用 type() 来查看一个变量的类型:
name = 'Python'
age = 20
height = 1.75
print(type(name))
print(type(age))
print(type(height))
3. 常见内置函数
Python 自带了很多很好用的函数,第 2 天最常见的是这些:
print('Hello, Python')
print(len('Python'))
print(type(100))
print(int(3.14))
print(float(10))
print(str(123))
我目前的理解:
print():把内容输出出来len():看长度type():看类型int():转成整数float():转成浮点数str():转成字符串
示例:
num = '10'
print(int(num) + 5) # 15
4. 类型转换
类型转换特别常见,因为用户输入、文件内容、接口数据,经常不是我们想要的类型。
num_str = '10'
num_int = int(num_str)
print(num_int) # 10
print(type(num_int)) # <class 'int'>
还可以这样:
pi = 3.14
print(int(pi)) # 3
print(str(pi)) # '3.14'
这里要注意一个坑:
# int('10.6') 会报错
# 因为 '10.6' 不是纯整数格式
print(float('10.6')) # 正确
5. 第2天我记住的重点
- 变量命名要规范,尽量用有意义的英文单词。
- Python 对大小写敏感,
name和Name不是同一个变量。 =在 Python 里是赋值,不是数学里的“相等”。type()和len()非常常用。- 类型转换是基础中的基础,后面几乎天天都要用。
二、第3天:运算符
第 3 天主要学习了“怎么计算”和“怎么判断”。
1. 算术运算符
常见算术运算符如下:
| 运算符 | 作用 | 例子 |
|---|---|---|
+ | 加法 | 1 + 2 |
- | 减法 | 5 - 1 |
* | 乘法 | 3 * 4 |
/ | 除法 | 8 / 2 |
% | 取余 | 7 % 2 |
// | 整除 | 7 // 2 |
** | 幂运算 | 2 ** 3 |
示例:
a = 7
b = 2
print(a + b) # 9
print(a - b) # 5
print(a * b) # 14
print(a / b) # 3.5
print(a % b) # 1
print(a // b) # 3
print(a ** b) # 49
这里我觉得最容易混的是这三个:
/是正常除法,结果通常是浮点数//是整除,只保留整数部分%是取余数
2. 比较运算符
比较运算符返回的结果是 True 或 False。
| 运算符 | 含义 |
|---|---|
== | 是否相等 |
!= | 是否不等 |
> | 是否大于 |
< | 是否小于 |
>= | 是否大于等于 |
<= | 是否小于等于 |
示例:
print(3 > 2) # True
print(3 < 2) # False
print(3 == 3) # True
print(3 != 2) # True
这里有一个特别重要的点:
a = 10
b = 10
print(a == b) # 比较值是否相等
== 是比较,= 是赋值,这两个千万不能混。
3. 逻辑运算符
Python 用 and、or、not 来组合条件。
print(3 > 2 and 4 > 3) # True
print(3 > 2 and 4 < 3) # False
print(3 > 2 or 4 < 3) # True
print(not 3 > 2) # False
我的理解:
and:两边都要真or:有一边真就行not:取反
4. 成员运算与身份运算
第 3 天还接触到了这些:
print('a' in 'python') # False
print('py' in 'python') # True
print('z' not in 'python') # True
还有:
print(1 is 1)
print(1 is not 2)
不过这里我顺手记一下:
is更适合比较“是不是同一个对象”,不是平时判断数值相等的首选。 日常判断两个值相不相等,优先还是用==。
5. 第3天我印象最深的地方
除法和整除真的不一样
print(7 / 2) # 3.5
print(7 // 2) # 3
取余可以判断奇偶数
num = 8
print(num % 2 == 0) # True
比较的结果本身就是布尔值
这个点很重要,因为以后写 if 判断时会经常用到。
三、第4天:字符串
字符串是最常见的数据类型之一。只要是文本,基本都离不开字符串。
1. 创建字符串
name = 'DDW'
language = "Python"
sentence = '''Python is fun'''
单引号、双引号、三引号都可以表示字符串。 三引号常用于多行文本。
text = """这是第一行
这是第二行
这是第三行"""
print(text)
2. 字符串拼接
first_name = 'DDW'
last_name = 'Blog'
full_name = first_name + ' ' + last_name
print(full_name)
结果:
DDW Blog
3. 获取字符串长度
company = 'Coding For All'
print(len(company))
len() 会返回字符串中字符的数量,包括空格。
4. 转义字符
转义字符可以让字符串显示特殊效果。
print('Hello\nPython')
print('Name\tAge\tCity')
print('She said: \"Hi\"')
print('This is a backslash: \\')
常见的有:
\n:换行\t:制表符\\:反斜杠\":双引号\':单引号
5. 字符串格式化
第 4 天学了三种方式,我最喜欢的是 f-string。
format() 写法
name = 'DDW'
age = 18
print('我的名字是 {},今年 {} 岁'.format(name, age))
f-string 写法
name = 'DDW'
age = 18
print(f'我的名字是 {name},今年 {age} 岁')
如果只是日常写代码,我会优先用 f-string,更直观。
6. 索引和切片
字符串里的每个字符都有位置。
language = 'Python'
print(language[0]) # P
print(language[1]) # y
print(language[-1]) # n
切片可以取出一部分内容:
language = 'Python'
print(language[0:3]) # Pyt
print(language[3:6]) # hon
print(language[::-1]) # nohtyP
我的理解:
0:3表示从索引 0 取到索引 3 前面[::-1]表示反转字符串
7. 常见字符串方法
这一部分非常实用,基本天天都会遇到。
大小写处理
text = 'coding for all'
print(text.upper()) # CODING FOR ALL
print(text.lower()) # coding for all
print(text.capitalize()) # Coding for all
print(text.title()) # Coding For All
print(text.swapcase()) # CODING FOR ALL
查找与判断
text = 'Coding For All'
print(text.find('For')) # 7
print(text.startswith('Coding')) # True
print(text.endswith('All')) # True
print('Coding' in text) # True
替换与拆分
text = 'Coding For All'
print(text.replace('Coding', 'Python')) # Python For All
print(text.split()) # ['Coding', 'For', 'All']
去空格与连接
text = ' Coding For All '
print(text.strip()) # Coding For All
skills = ['Python', 'HTML', 'CSS']
print(' | '.join(skills))
四、这三天里我最容易混淆的点
1. = 和 ==
x = 10 # 赋值
x == 10 # 判断是否相等
2. /、// 和 %
print(7 / 2) # 3.5
print(7 // 2) # 3
print(7 % 2) # 1
3. int('10.6') 不行
print(float('10.6')) # 正确
# print(int('10.6')) # 会报错
4. 字符串索引从 0 开始
word = 'Python'
print(word[0]) # P
不是从 1 开始,这点一定要习惯。
五、我用自己的话总结这三天
学完第 2 到第 4 天之后,我感觉自己终于开始真正“接触代码”了。
第 2 天是在学“数据怎么存”。 第 3 天是在学“数据怎么运算、怎么比较”。 第 4 天是在学“文本怎么处理”。
这三部分虽然基础,但几乎所有 Python 程序都会反复用到:
- 有变量,程序才能记住数据
- 有运算符,程序才能计算和判断
- 有字符串处理,程序才能处理输入、输出和文本内容
所以这几天不只是“入门”,而是后面所有内容的地基。
六、我做的小练习
1. 计算圆面积
radius = 10
pi = 3.14
area = pi * radius ** 2
print(f'半径为 {radius} 的圆面积是 {area}')
2. 判断奇偶数
num = 9
if num % 2 == 0:
print('偶数')
else:
print('奇数')
3. 拼接自我介绍
name = 'DDW'
city = '上海'
language = 'Python'
print(f'大家好,我是 {name},来自 {city},正在学习 {language}。')
4. 提取字符串的一部分
text = 'Coding For All'
print(text[0:6]) # Coding
print(text[-3:]) # All
七、接下来要继续练什么
我觉得接下来自己要重复练这几类内容:
- 变量声明和类型判断
- 运算符的使用,特别是
%、//和逻辑判断 - 字符串切片
- 字符串常用方法,比如
replace()、split()、strip() - 用
f-string格式化输出
这些内容不难,但必须多敲几遍,不然看懂了也不一定会写。
八、结语
第 2 到第 4 天的内容让我更清楚地认识到,Python 的语法确实很适合新手入门。 它不像有些语言一上来就有很多复杂规则,而是先把最核心的“变量、计算、文本处理”讲清楚。
现在的我还在入门阶段,但至少已经能写一些简单的小程序了。 继续往后学,争取把基础打牢。
如果你也是初学 Python,希望我们都能慢慢坚持下去。