变量
变量需要以字母开头 不可以数字开头 python3支持中文变量
x = 3
y = 5
x, y = y, x
print (x, y)
把x的值给到y y的值给到x
字符串
>>> a = 5
>>> b = 1
>>> print (a,b)
5 1
>>> print ("a,b")
a,b
a,b被认定为一个字符串整体
>>> print ("a","b")
a b
a和b被分别认定为一个字符串整体 所以引号里面的内容会被认定为字符串形式 而非我们定义的变量
注意: 引号要成对 不然会报语法错误
转义字符

\n 用于换行
>>> print ("let's go home \nok")
let's go home
ok
>>> print ("let's go home \n ok")
let's go home
ok
>>>
当我们想输出路径的时候就会出错
>>> print ("D:\new\time\123")
D:
ew imeS
>>> print ("D:\\new\\time\123")
D:\new\timeS
为什么这个地方出现了S 那是因为\123被看做了八进制 八进制范围 \000到\377 想引用纯数字就需要再加一个\ 或者超出八进制范围
如下:
>>> print ("D:\\new\\time\\123")
D:\new\time\123
>>> print ("D:\\new\\time\\1234")
D:\new\time\1234
>>>
如此添加\进行去转义操作太麻烦了 如何在不加\的情况下输出正确的路径呢 那就是使用原始字符串功能
>>> print (r"D:\new\time\123")
D:\new\time\123
>>>
加一个r告诉python 后面的字符串是一个原始字符串 这样里面的转义符就失效了
长字符串
定义长字符串通常是以三个引号(单双都可)
这样在输出内容没有结束的时候就不需要频繁的用\ 来告诉解释器我还有其他内容没输出完毕
>>> shiju = '''
再别康桥
轻轻的我走了,
正如我轻轻的来;
我轻轻的招手,
作别西天的云彩。
那河畔的金柳,
是夕阳中的新娘;
波光里的艳影,
'''
>>> print (shiju)
再别康桥
轻轻的我走了,
正如我轻轻的来;
我轻轻的招手,
作别西天的云彩。
那河畔的金柳,
是夕阳中的新娘;
波光里的艳影,
字符串的加法和乘法
整数相加正常计算
字符串相加是拼接
字符串乘以数字是重复
>>> print (123+123)
246
>>> print ("123"+"123")
123123
>>> print ("123\n" *3)
123
123
123
>>>
第一个游戏脚本
input 接收输入的内容,字符串格式
'''用pyhon写的第一个游戏'''
temp = input("请输入你认为正确的数字: ")
guest = int(temp)
print (temp)
if guest == 8:
print ("恭喜猜对了")
print ("当时没奖励")
else:
print ("不好意思猜错了")
print ("游戏结束")
运算符

循环语句

一直执行
while 3 > 0 一直成立 所以可以一直执行
'''用pyhon写的第一个游戏'''
while 3 > 0:
temp = input("请输入你认为正确的数字: ")
guest = int(temp)
print (temp)
if guest == 8:
print ("恭喜猜对了")
print ("当时没奖励")
elif guest < 8:
print ("数字太小了")
else:
print ("不好意思猜错了")
print ("游戏结束")

执行五次
'''用pyhon写的第一个游戏'''
num = 6
while num > 1:
temp = input("请输入你认为正确的数字: ")
guest = int(temp)
if guest == 8:
print ("恭喜猜对了")
print ("当时没奖励")
else:
if guest < 8:
print ("数字太小了")
else:
print ("大了")
num = num - 1
print ("游戏结束")
=========当第五次的时候num值为2 2-1>1不成立 所以脚本运行结束=======
===================== RESTART: D:/工作/python学习/脚本/game.py =====================
请输入你认为正确的数字: 1
数字太小了
请输入你认为正确的数字: 2
数字太小了
请输入你认为正确的数字: 3
数字太小了
请输入你认为正确的数字: 4
数字太小了
请输入你认为正确的数字: 5
数字太小了
游戏结束
>>>
但是此脚本有一个问题,当用户输入的值是8的时候 猜对后就应该直接结束 不应该是5次后才结束
===================== RESTART: D:/工作/python学习/脚本/game.py =====================
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
游戏结束
>>>
break 跳出循环
'''用pyhon写的第一个游戏'''
num = 6
while num > 1:
temp = input("请输入你认为正确的数字: ")
guest = int(temp)
if guest == 8:
print ("恭喜猜对了")
print ("当时没奖励")
break
else:
if guest < 8:
print ("数字太小了")
else:
print ("大了")
num = num - 1
print ("游戏结束")
===================== RESTART: D:/工作/python学习/脚本/game.py =====================
请输入你认为正确的数字: 1
数字太小了
请输入你认为正确的数字: 9
大了
请输入你认为正确的数字: 8
恭喜猜对了
当时没奖励
游戏结束
>>>
random 随机数模块
import random 导入random模板
random.randint(1,10) 在1到10里面生成随机数
>>> import random
>>> random.randint(1,10)
2
>>> random.randint(1,10)
5
>>> random.randint(1,10)
4
>>> random.randint(1,10)
9
>>>
数字类型
整数
print(10 + 5) # 15
print(10 - 5) # 5
print(10 * 5) # 50
print(10 // 3) # 3 (整除)
print(10 % 3) # 1 (取模)
print(2 ** 10) # 1024 (幂运算)
浮点数
特点:
包含小数部分的数字
使用 IEEE 754 双精度标准(64位)
可能有精度问题(如 0.1 + 0.2 ≠ 0.3)
支持科学计数法表示
decimal 精确计算
>>> a = 0.1
>>> b = 0.2
>>> print (a + b)
0.30000000000000004
>>> import decimal
>>> a = decimal.Decimal("0.1")
>>> b = decimal.Decimal("0.2")
>>> print (a+b)
0.3
复数
特点:
形式为 a + bj,其中 a 是实部,b 是虚部
虚部后缀使用 j 或 J
支持实部和虚部分别访问
在科学计算和工程领域常用
创建复数
c1 = 3 + 4j
c2 = 2 - 1j
c3 = complex(5, 6) # 5 + 6j
访问实部和虚部
print(c1.real) # 3.0
print(c1.imag) # 4.0
复数运算
print(c1 + c2) # (5+3j)
print(c1 * c2) # (10+5j)
jj=-1
c1c2=(3+4j) (2-1j)
=6-3j+8j-4j*j
=6+5j-(-4)
=10+5j
print(c1.conjugate()) # (3-4j) 共轭复数
print(abs(c1)) # 5.0 模长 (√(3²+4²))
特殊值
c4 = 1j * 1j # (-1+0j) 即 i² = -1
类型转换
int_val = int(3.9) # 3 (截断小数)
float_val = float(5) # 5.0
complex_val = complex(2) # (2+0j)
类型检测
x = 10
y = 3.14
z = 2 + 3j
print(type(x)) # <class 'int'>
print(type(y)) # <class 'float'>
print(type(z)) # <class 'complex'>
print(isinstance(x, int)) # True
print(isinstance(y, float)) # True
混合运算
混合运算规则
整数 + 浮点数 = 浮点数
浮点数 + 复数 = 复数
整数 + 复数 = 复数
python
print(10 + 3.14) # 13.14 (浮点)
print(3.14 + (1+2j)) # (4.14+2j) (复数)
print(5 + (3+4j)) # (8+4j) (复数)
运算符

其中需要特别注意 x // y 得出的结果是小于x除以y的值的整数
比-3.5小的整数是-4
>>> 7/2
3.5
>>> 7//2
3
>>> -7/2
-3.5
>>> -7//2
-4
>>>
divmod(x,y) 返回 x//y x%y的值
>>> divmod(-7,2)
(-4, 1)
>>> divmod(7,2)
(3, 1)
>>>
pow 和 x**y都是x的y次方 但是pow支持输入三个数字 pow(2,3,5) 想当于 2的三次方在和5取余
>>> pow(2,3)
8
>>> pow(2,3,5)
3
>>> pow(2,4,5)
1
>>>
布尔值
bool() 结果只有False True
为False的结果如下

>>> bool(0)
False
>>> bool(1)
True
>>> bool()
False
>>> bool( )
False
>>> bool(" ")
True
>>> bool("")
False
逻辑运算符

>>> (not 0)
True
>>> (not 1)
False
>>> (not 2)
False
>>> (1 and 2)
2
>>> (1 and 7)
7
>>> (0 and 7)
0
>>> (0 and 3)
0
>>> (0 or 3)
3
>>> (0 or 7)
7
>>> (1 or 7)
1
>>> (1 or 3)
1
>>> (7 and 8 and 9)
9
>>> (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
4
>>>
先算小括号内的 再算括号外的
如果去掉括号结果如何呢
>>> not 1
False
>>> 1 or 0
1
>>> 0 or 1
1
>>> 1 or 3
1
>>> 1 and 3
3
>>> 0 and 3
0
>>>
not 取反
or 两边有一个符合就可以 所以哪个先符合true就先返回哪个值 1 or 2 返回1
and 必须同时符合 当第一个值为false直接返回第一个值 当第一个值为true就返回第二个值
运算符优先级
越往下优先级越高
