1、标志符:必须以字母或下划线开头,后跟字母、数字或下划线
不能含空格,不能使用内置关键字,且区分大小写
2、将字符放在单引号中输出,来区别文本还是数字
- 〉〉〉“32”
- ‘32’
3、只有圆括号在数字表达式中是允许的,嵌套使用
((x1-x2)/2*n)+(spam/k**3)
4、变量必须要赋值才能在表达式中使用
5、输出语句print中的表达式从左往右求值并显示
- 〉〉〉print(3,4,3+4)
- 3 4 7
print()生成空行输出,print默认通过换行结束文本,可通过end关键字来改变
- print("The answer is",end=" ")
- print(3+4)
-
- The answer is 7
6、对变量赋新值,旧值不会被新值覆盖,变量只需切换到引用新值,旧值一段时间后不用,会被自动清理掉
7、使用input,用户输入的任何东西会被存为字符串
- >>> name=input("Please Enter :")
- Please Enter :89
- >>> name
- '89'
如果想要转化为数字,使用eval:
- >>> name=eval(input("Please Enter :"))
- Please Enter :89
- >>> name
- 89
通过eval还可以对表达式求值:
- >>> ans=eval(input("Enter an expression:"))
- Enter an expression:3+7*1
- >>> ans
- 10
8、通过同时赋值来交换xy值,因为是同时的,所以避免了擦去原始值
- >>> x,y=eval(input("Please enter your number:"))
- Please enter your number:3,4 #用逗号分隔输入的数字
- >>> x,y=y,x
- >>> print(x,y)
- 4 3
多个值技巧不适合字符串(非求值)输入,因为逗号不能起到分隔符作用
9、 for in
sequence通常由列表组成,var依次取sequence中的每个值,sequence的项数决定循环次数
10、range()
- >>> list(range(10)) #range(n)产生0~n-1的连续值构成的序列,左闭右开
- [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
- >>> list(range(2,4)) #range(start,n),从start开始到n,但不包括n
- [2, 3]
- >>> list(range(5,10,3)) #range(start,n,step),从start开始到n,不包括n,步长为step
- [5, 8]
11、type()显示数据类型
- >>> type(1.0)
- <class 'float'>
- >>> type(1)
- <class 'int'>
12、//整数除,/常规除法
- >>> 10/3
- 3.3333333333333335 #返回近似值
- >>> 8/4
- 2.0
- >>> 8//4
- 2
- >>> 8.0//4.0 #结果的数据类型取决于操作数的数据类型
- 2.0
- >>> 8.0//4
- 2.0
- >>> 10.0%2
- 0.0
- >>> 10%2
- 0
13、类型转换
- >>> float(int(9.4))
- 9.0
- >>> int(float(9))
- 9
- >>> round(4.5) #浮点数精度问题:可能4.5实际存储的值是4.500000000000000001
- 4
- >>> round(3.5) #round起到四舍五入的作用
- 4
- >>> round(4.123,2) #四舍五入到规定位数
- 4.12
- >>> int("2.6")
- Traceback (most recent call last):
- File "
" , line 1, in - int("2.6")
- ValueError: invalid literal for int() with base 10: '2.6'
- >>> int("2") #也可用于将数字字符串转为数字
- 2
14、用int、float代替eval,增加安全性
- >>> x=int(input("Please enter your number:"))
- Please enter your number:12
- >>> x
- 12
但不能用于同时赋值
- >>> x,y=int(input("Please enter your numbers:"))
- Please enter your numbers:12,1
- Traceback (most recent call last):
- File "
" , line 1, in - x,y=int(input("Please enter your numbers:"))
- ValueError: invalid literal for int() with base 10: '12,1'
15、math库的使用
- >>> import math
- >>> math.sqrt(4)
- 2.0
16 、python的int数据类型可以存储任意大小的整数,如果int值对于底层硬件int太大,就会自动转换为更长的表示,涉及这些长的int计算比只使用短int的低,而Java与C++中的int值超过限定位数会发生溢出导致错误的数值