上篇我们把环境搭好、Hello World 也打出来了。现在你要开始 "写正经代码" 了。老哥劝你一句:别急着做项目,先把变量、数据类型、运算符这几块地基夯结实—— 不然后面写代码全是坑。
一、注释:给代码 "贴便利贴"
注释是给程序员看的,不影响程序运行。作用有三个:提高可读性、屏蔽暂时不用的代码、定位出错位置。
# 单行注释:井号后的一行是注释 print("hello world") # 语句后也可以加注释 """ 三个引号可以写多行注释 (本质是个多行字符串) """规范:#和内容之间加一个空格,语句和#之间加两个空格。
二、变量:给数据贴 "标签"
变量就是内存里一个会变的值,可以理解成一个标签。Python 的变量不需要声明,赋值即创建。
var1 = 2 # 变量名 = 变量值 name = "张三" age = 18 var1 = var2 = var3 = 10 # 多个变量值相同 var4, var5, var6 = 10, 20, 30 # 多个变量值不同 var1, var2 = var2, var1 # 交换两个变量,一行搞定命名规则:只能含字母、数字、下划线,不能以数字开头;区分大小写(Name和name不同);不能和关键字重名。命名方法推荐蛇形命名法user_name(Python 惯例)。
常量用全大写约定:PI = 3.1415926。
三、基本数据类型
Python 里 "类型" 是变量所指对象的类型,主要六种。先看四个基本类型:
表格
| 类型 | 说明 | 例子 |
|---|---|---|
| int 整型 | 任意大小整数 | 100、1_000_000 |
| float 浮点型 | 带小数 | 3.14、1.3e7 |
| bool 布尔型 | True / False | True、False |
| str 字符串 | 引号括起 | "hello"、'hi' |
几个易踩的坑:
- float 有精度误差:
0.1 + 0.2结果是0.30000000000000004。要精确就导入 decimal; - bool 是 int 的子类:
True == 1返回 True; - 假值:
None、0、0.0、False、空容器、空字符串都算 "假"; - 整数下划线分隔:
1_000_000_000等于 1000000000000000,Python 自动忽略下划线。
字符串转义:\n换行、\t制表符、\"双引号等。用三引号可以写所见即所得的多行字符串。
四、类型转换
自动转换(隐式):小类型转大类型,如整型 + 浮点 → 浮点;但整型 + 字符串会报错。
强制转换(显式):
num_int = 123 num_str = "456" num_str = int(num_str) # 字符串转整型 print(num_int + num_str) # 579常用转换函数:int()、float()、str()、list()、tuple()、set()。
编码解码:字符串.encode('utf8')变字节(一个汉字占 3 字节),字节.decode('utf8')变回字符串。用什么编码,就用什么解码,否则报错。
五、输入与输出
name = input("请输入:") # 输入,存到字符串变量 print("你好", name) # 输出,逗号分隔格式化输出有三种方式:
# 方式1:% 占位 print("int = %d, float = %.2f" % (10, 3.14159)) # 方式2:.format() print("int = {}, float = {}".format(10, 3.14159)) # 方式3:f-字符串(最推荐) int1 = 10 print(f"int = {int1}") # int = 10 print(f"{int1 = }") # int1 = 10,自动加变量名print的end=参数控制结尾:print("a", end="")不换行。
六、运算符全家桶
表格
| 类别 | 运算符 |
|---|---|
| 算术 | + - * /(除得浮点)//整除%取余**幂 |
| 赋值 | = += -= *= //= %= **=,还有海象:=(3.8+) |
| 比较 | == != > < >= <= |
| 逻辑 | and or not |
| 成员 | in/not in |
| 身份 | is/is not(比内存地址,==比值) |
老哥提醒几个高频坑:
10 / 3结果是3.333...(浮点),10 // 3才是 3;- 逻辑运算符
and/or返回的不一定是布尔:5 and 8返回 8,0 or 8返回 8(短路求值); is和==别混:is判断是不是同一个对象,==判断值相等;- 不同的数据类型不能比大小(
10 > "abc"报错)。
七、编码规范(PEP 8)
- 缩进用 4 个空格,别混用 Tab 和空格;
- 每行不超过 79 字符,注释不超过 72;
- 用空行把不同功能块隔开;
- 别在行尾加分号、别用分号堆命令;
- 源码用 UTF-8 编码;
- 行末不要留空格。
老哥收尾
这一篇信息量大,但每块都是后面绕不开的。老哥给你提炼成一句话:
变量是标签、类型决定能干啥、input 进 print 出、运算符要分清 "值" 和 "身份"、写码守 PEP 8。
照着代码敲一遍,基础就算打牢了。下一篇讲流程控制 —— 让程序学会 "判断" 和 "循环"。有问题随时回来。