变量
想用就赋值,不用声明;赋什么值就是什么类型!
同一变量可以反复赋不同类型的值
java中
-
8种基本类型(byte、short、int、long、float、double、char、boolean)
-
引用类型(字符串、数组、自定义类、包装类、
ArrayList、HashMap等集合)
但是Pyhton没有基本 / 引用的语法划分,按可变不可变划分:
-
**不可变数据(4 个):**Number(数字)、String(字符串)、bool(布尔)、Tuple(元组)
-
**可变数据(3 个):**List(列表)、Dictionary(字典)、Set(集合)
(不可变是指:一旦创建,值不能修改!修改 = 生成一个新对象)
下面对这七种类型做细致说明
不可变变量
Number
Python3 支持 int、float、complex(复数)
/ 除法,得到一个浮点数 // 整除,得到一个整数
String
用单引号 ' 或双引号 " 括起来
字符串是不可变的,不可以某个索引单独赋值,如word0 = 'm'❌️
字符串有两种索引方式:从左往右以 0 开始,从右往左以 -1 开始。

使用反斜杠 \ 转义特殊字符。可以在字符串前面添加一个 r,表示原始字符串:
print('Ru\noob')
print(r'Ru\noob')
bool
bool 是 int 的子类,因此布尔值可以被看作整数来使用,其中 True 等价于 1,False 等价于 0。
可以和逻辑运算符一起使用,包括 and、or 和 not,用来组合多个布尔表达式
Tuple
与列表类似,不同之处在于元组的元素不能修改。
元组写在小括号 () 里,元素之间用逗号隔开。
可变变量
List
列表写在方括号 \[\] 之间,用逗号分隔开的元素列表。
列表中元素的类型可以不相同
截取与字符串的用法完全相同
列表中的元素是可以改变的
Dictionary
字典是一种映射类型,用 {} 标识,它是一个 键(key) : 值(value) 的集合。
键(key) 必须使用不可变类型,且在同一个字典中键必须是唯一的。
Set
集合中的元素不会重复,是无序的
集合使用大括号 {} 表示,元素之间用逗号 , 分隔。
注意:创建一个空集合必须用 set() 而不是 {} ,因为 {} 创建的是一个空字典。
交集:& 并集:| 差集:-
条件控制
if 判断
while guess != number:
guess = int(input("请输入你猜的数字:"))
if guess == number:
print("恭喜,你猜对了!")
elif guess < number:
print("猜的数字小了...")
else:
print("猜的数字大了...")
match
def http_error(status):
match status:
case 400:
return "Bad request"
case 404:
return "Not found"
case 418:
return "I'm a teapot"
case _:
return "Something's wrong with the internet"
循环语句
| 关键字 / 函数 | 说明 | 示例 |
|---|---|---|
| for | 迭代循环 | for i in list: |
| while | 条件循环,条件为 True 时持续执行 | while x > 0: |
| break | 立即终止当前循环 | break |
| continue | 跳过本次循环,进入下一次迭代 | continue |
| else(循环) | 循环正常结束(未被 break)时执行 | for i in range(3): ... else: ... |
| pass | 循环中的占位语句(空操作) | for i in range(5): pass |
| range() | 生成整数序列,常与 for 循环配合使用 | range(0, 5) |
| enumerate() | 遍历同时获取索引和值 | for i, v in enumerate(list): |
函数
def 函数名(参数1,参数2) :
函数体
return xxx
-
函数可以返回多个值(Java 做不到!)
-
形参可以设置默认值
- def 函数名(参数1="ABC") :
-
传递可变类型(list/dict),函数里改,外面也会变!