● 数据类型
整数,十六进制整数0x+0-9、a-f
print(0x9a)
----
154
浮点数:数学写法、科学计数法 如:1.23e9(1.23×10^9) 1.23e-5(1.2×10^-5)
print(1.23e5)
----
123000.0
字符串:' ' 或者" "
◊ 如果 ' 本身也是一个字符,可以使用" " 括起来。
◊ 转义字符 \ e.g. I'm "OK"!
print('I\'m OK.') # I'm OK.
print("I'm OK!") # I'm OK!
print('I\'m "OK"!') # I'm "OK"!
◊ \n
换行 \t
制表符 \\
对"\"转义
print('\\\n\\')
----
\
\
◊ 使用 r' '
表示 ' ' 内部的字符串默认不转义
print('\\\t\\') # \ \
print(r'\\\t\\') # \\\t\\
◊ 用 '''...''' 格式表示多行内容。ps: 交互式命令行中...是提示符,不是代码的一部分
print('''line1
line2
line3''')
----
line 1
line 2
line 3
◊ r'''...'''表示''' '''内部字符串默认不转义
print(r'''hello,\n
world''')
----
hello,\n
world
布尔值 True False 注意大小写
print (3 > 2) # True
print (3 > 5) # False
布尔值运算
◊ and与运算(所有为true 结果才是true)
◊ or或运算 (只要有个true 结果就是true)
◊ not非运算
age = int(input('please enter your age:'))
if age >= 18:
print('Welcome!')
else:
print('Sorry, you are not allowed to enter.')
----
Please enter your age: 21
Welcome!
空值 None
变量
变量可以是任意数据类型
必须是大小写英文、数字和_的组合,且不能数字开头
a = 123
print(a)
a = 'ABC'
print(a)
像这种变量本身类型不固定的语言称为动态语言
静态语言则是在定义变量的时候指定了变量类型,如果类型不匹配就会报错,例如Java
赋值语句= 注意不是数学的等号
x = 10
print('x_1 = ',x) # x_1 = 10
x = x + 2
print('x_2 = ',x) # x_2 = 12
python中 +=表示自加, -=表示自减
python不支持类似 x++ 或 x-- 这样的自增/自减运算符
y = 10
print('y_1 = ',y) # y_1 = 10
y += y
print('y_2 = ',y) # y_2 = 20
y -= y
print('y_3 = ',y) # y_3 = 0
= 表示赋值,当我们写 a='ABC'时,Python的解释器做了两件事 :
1. 在内存中创建了一个'ABC'的字符串;
2. 在内存中创建了一个名为a的变量,并把它指向'ABC'
一个例子:把一个变量a
赋值给另一个变量b
,这个操作实际上是把变量b
指向变量a
所指向的数据
a = 'ABC'
b = a
a = 'XYZ'
print('a:',a,' b:',b) # a: XYZ b: ABC
a、b 互换的小例子:
a = 5
b = 6
tmp = a
a = b
b = tmp
print('a =',a,' b =',b) # a = 6 b = 5
● 常量
在Python中,通常用全部大写的变量名表示常量 如:PI
但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变
PI = 3.14159265359
print(PI)
● python中的除法
/ 计算结果是浮点数
// 地板除法,计算结果是整数
% 取余
print('10/3 =',10 / 3) # 10/3 = 10/3 = 3.3333333333333335 (why?)
print('10//3 =',10 // 3) # 10//3 = 3
print('10%3 =',10 % 3) # 10%3 = 1
注意:Python的整数没有大小限制; Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)