变量
变量:运行时可以发生变化的量
为什么使用变量?方便!
变量的定义:
在java、c、c++这些强数据类型语言中,定义变量必须申明变量的类型
int a = 10;
python是弱数据语言,在定义使用变量的过程中,不用申明变量的类型
解释器会自动根据值来判断
变量名称 = 变量值 # python的变量定义
>>> a=10
>>> type(a)
<class 'int'>
>>> a='asd'
>>> type(a)
<class 'str'>
变量命名规范:
1.变量名称只能有 大小写字母、数字和下划线 组成
这些被称为有效符号,且命名时区分大小写,即大小写敏感,特殊符号不能用于命名
2.数字不能开头
3.不能以关键字或者保留字作为变量的名称
Python关键字和保留字:
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else',
'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass',
'raise', 'return', 'try', 'while', 'with', 'yield']
4.变量命名尽量有意义
小驼峰法 nameAddress 常见于 c、c++、C#、Java
下划线 name_address 推荐
大驼峰法 NameAddress 常见于类名称
python的数据类型:
基本数据类型
|-- 数值型(number)
|-- 整型 int
|-- 浮点数(小数) float
|-- 复数(虚数)
|-- 布尔类型(bool/Boolean)
真(True)、假(False)
|-- 字符串(str/string)
python中的字符串不仅可以有双引号括住,还可以由单引号和三引号括住
注意:三引号在python,不仅是多行注释,也是文档注释
还可以是字符串
|-- None 空类型,表示一种不存在的意思
引用数据类型(复合数据类型)
|-- list
|-- set
|-- dict
|-- tuple
|-- object ...
万物皆对象
全局函数:
print(字符串) # 在终端中输出字符串,标准输出函数
type(变量) # 判断变量的类型
input("字符串提示") # 标准输入函数
int(字符串) # 将字符串转换为整数
float(字符串) # 将字符串转换为浮点数
str # 将数字转换为字符串
>>> a = 10
>>> print("a是" + str(a))
a是10
>>> a = '10'
>>> print(2 + int(a))
12
常见的运算符
算术运算符:
+ 加法 5 + 2 = 8
- 减法 5 - 2 = 1
* 乘法 5 * 2 = 10
/ 除法 5 / 2 = 2.5
% 取余 5 % 2 = 1
// 地板除法 5 // 2 = 2
** 次方 5 ** 2 = 25
关系运算符(比较运算符):
> 大于
== 等于
< 小于
>= 大于等于
<= 小于等于
!= 不等于,在python2中 <> 也表示不等于,但在python3中被去掉了
逻辑运输符:
and 并且,所有条件都成立则成立,有一个条件为假,则为假
or 或者,只要有一个条件成立,则成立,全局为假,则为假
not 不是,取反
运算顺序:and > not > or
成员运算符:
in 表示在容器中
not in 表示不在容器中
>>> a = [ 1 ,2 ,3 ]
>>> 1 in a
True
>>> 1 not in a
False
赋值运算符:
= 将右端的值赋给左端的变量
+= a += 1 等价于 a = a + 1
-= a -= 1 等价于 a = a - 1
*= a *= 1 等价于 a = a * 1
/= a /= 1 等价于 a = a / 1
//= a //= 1 等价于 a = a // 1
%= a %= 1 等价于 a = a % 1
**= a **= 1 等价于 a = a ** 1
位运算:
计算机底层的二进制数据是通过二进制补码方式计算
正数:源码、反码、补码一致
负数:
源码:就是二进制
反码:符号位不变,其余各位取反
补码:反码 + 1
一个字节可以表示无符号数 0~255 有符号数 -128~127
& 与运算符 10 & 11 = 10
| 或运算符 10 | 11 = 11
^ 异或运算符 10 ^ 11 = 1
10 0000 1010
&
11 0000 1011
------------------------
0000 1010 = 10
1和1得1 其他得0
10 0000 1010
|
11 0000 1011
------------------------
0000 1011 = 11
有1就得1 0和0得0
10 0000 1010
^
11 0000 1011
------------------------
0000 0001 = 1
不同得1 相同得0
位移运算:
用最有效率的方法算出2乘以8等于几?
答案: 2 << 3
左移运算(<<):按二进制形式把所有的数字向左移动对应位数,高位移出,低位补零。
左移运算(>>):按二进制形式把所有的数字向右移动对应位数,低位移出,高位补零。
其他
进制
bit:一个二进制数据 0 或 1
1B(Byte 字节) = 8b
1K = 1024B
1M = 1024K
1G = 1024M
1T = 1024G
python中没有自加运算和自减运算