变量

python 是一种弱类型语言,变量可以不声明直接使用,变量的类型由其值决定,为其赋值后会自动创建

变量的命名规则

变量名可以是单字母,也可以是字母加下划线加数字的组合,但数字不能在变量名的首位
变量名可以是中文
区分大小写
不可使用系统关键字

变量的使用

变量可以多个同时赋值即,变量可以同时定义多个,格式如下:
变量1,变量2,变量… ,变量n=值1,值2,值…,值n
例如 name,age =张三,18
变量的值也可同时修改多个,如:
x,y=1,3
x,y=y,x 输出两个变量结果为,x=3,y=1
对于赋值运算,会先计算赋值运算符右边表达式的值,后在把计算结果给赋值左边的变量

变量的类型

python常用的变量类型有7种,
1.Number(数字型)
2.String(字符串)
3.List (列表)
4.Tuple(元组)
5.Set (集合)
6.Dictionary(字典)
7.Boolean (布尔)

1.Number(数字型)

分为int(整形),flat(浮点型),complex(复数类型)
1.整形:包括正整形,负整形,0,不可带小数点,无大小限制
可以用不同进制表示,加0o为8进制,加0x为16进制,不加为10进制
2.浮点型:带小数点的数字型,可用于表示实数,可用科学计数法表示
查看浮点型的取值范围
import sys # 导入
sys.float_info #查看当前环境中浮点型的取值范围和精度

3.复数: 复数有实部和虚部组组成,每一部分都是一个浮点数,书写方法如下
a+bj或a+bJ
生成复数时,也可以用complex函数,语法格式如下:
complex([real[,imag]])

其中real 为实部值,imag为虚部值,返回值为real+imag* 1j

2.String(字符串)

python 中只有报错字符串的string 类型,没有单独保存单个字符的数据类型
python 中可以写在一对单引号中,也可以写在一对双引号或者三引号中
对于不包含任何字符的字符串成为空字符串
字符串可以使用int函数或float函数将只包含数字值的字符串转为数字型,这两种函数不可以计算表达式
字符串常用转义字符
\ 在一行末尾时表示续行符 \表示反斜杠符号
' 单引号 " 双引号 \n换行符 \r回车 \t 制表符
python 字符串截取
strname[index] #单个字符截取
#strname 表示字符串名字,index 表示索引值。
strname[start : end : step] #多个字符截取
strname:要截取的字符串;
start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
end:表示要截取的最后一个字符所在的索引(截取时不包含该字符)。如果不指定,默认为字符串的长度;
step:指的是从 start 索引处的字符开始,每 step 个距离获取一个字符,直至 end 索引出的字符。step 默认值为 1,当省略该值时,最后一个冒号也可以省略。

3.List (列表)

列表是python 中非常重要的类型
列表中可以有很多的元素,而且元素类型可以不同,每一元素可以是任意数据类型,包列表(即列表嵌套)及元组集合字典
所有蒜素卸载一对 “[]” 中,每两个元素之间用逗号分隔,对于不包含任何元素的列表,即 “[]”,被称为空列表
列表利用下标“[]”可以从已有列表中取出一部分元素,组成新的列表
列表的索引方式与字符串相同,支持从前索引和从后向许索引,两种方式,例如
ls[bed:end]
其中,bed代表要代表去取出出部分在列表ls中的起始下标,end表示要取出部分元素在ls中的结束下标
省略bed,则表示从ls中的第一个元素开始,等价于ls[0:end];
省略end则表示要取出的部分元素从bed位置开始,之后的所有元素,
省略两个参数代表取出ls中的所有元素
若只是访问单一列表,则可以
ls[index] #注意,这种方式返回的值是列表中的单一元素
而 s[bed:end],返回的仍是一个列表

元素的值可以通过下标进行更改,例如

1
2
3
4
5
6
7
8
my_list = [1, 2, 3]
my_list[1] = 4
print(my_list)
输出结果为:[1, 4, 3]
my_list = [1, 2, 3, 4, 5, 6, 7]
my_list[1:4] = ["my", "1"]
print(my_list)
输出结果为:[1, "my", "1", 5, 6, 7]。

同时可以利用空列表删除元素比如,

1
2
3
4
my_list = [1, 2, 3, 4, 5]
my_list[0:2] = []
print(my_list)
输出结果为:[3, 4, 5]

4.Tuple(元组)

元组与列表类似 ,可以包含多个元素,且元素类型可以不相同,两个元素之间也是用逗号分隔
与元组不同的是,元组中的所有元素都在一对小括号()中,且元组中的元素不可进行修改
对于不包含任何元素的元组,称为空元组,即()
元组的索引访问方式列表完全相同
t[bed:end]
其中,bed代表要代表去取出出部分在元组t中的起始下标,end表示要取出部分元素在t中的结束下标
省略bed,则表示从ls中的第一个元素开始,等价于t[0:end];
省略end则表示要取出的部分元素从bed位置开始,之后的所有元素,
省略两个参数代表取出ls中的所有元素
若只是访问单一元组元素,则可以
t[index] #注意,这种方式返回的值是列表中的单一元素
而 t[bed:end],返回的仍是一个元组

注意:字符串、列表和元组的元素都是按下标顺序排列,可通过下标直接访问,这样的数据类型统一称为序列
其中,字符串和元组中的元素不能修改,而列表中的元素可以修改

5.Set (集合)

与元组和列表类似,set(集合)中同样可以包含多个不同种类元素,但集合中的各个元素无序、不允许有相同元素且元素必须是可哈希(hashable)的对象
可哈希对象是指拥有个_hash_(self) 内置函数的对象。列表、集合、字典类型的数据是不可哈希对象,所以他们不能作为集合中的元素
创建集合:
集合中的元素都写在一对大括号“{}”中,各元素之间用逗号分割,创建集合时可以用“{}”,也可以用set函数,set函数的语法格式如下:set([iterable])
其中,iterable是一个可选参数,表示一个可迭代对象 # 可迭代对象是指可以一次返回他的一个元素,如前面所说的字符串、列表、元组都是可迭代的数据类型
例如:
a = {1, 2, 3, 4, 5}
b=set(“hello”)

与字符串、列表、元组等序列类型不同,集合中的元素不可使用下标索引来访问
集合主要用与做并、交、差等集合运算,以及基于集合进行元素的快速检索
“{}”用于创建空字典,如果要创建一个空集合,则要使用set()

6.Dictionary(字典)

Dictionary(字典)时另外一种无序集合,与集合不同,字典是一种映射类型,每一个元素都是一个键(key):值(value)对
在一个字典种,键必须是唯一的,即不同的元素的键不能相同;
另外,键必须是可哈希数据,即键不能是、列表、集合、字典等类型;其中值可以是任意类型
对于不包含任何元素的字典,即{},称为空字典,即可以使用“{}”来创建,也可以使用dict()函数如
a={}
b=dict()
两者都是不包含任何元素的空字典
创建字典的方法
使用花括号{}和冒号:来创建字典,例如:
my_dict = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
使用dict()函数来创建字典,例如:
my_dict = dict(key1=’value1’, key2=’value2’)
使用zip()函数将两个列表合并为字典,例如:
keys = [‘key1’, ‘key2’]
values = [‘value1’, ‘value2’]
my_dict = dict(zip(keys, values))

字典不能通过下标索引访问,而是通过键访问
my_dict = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
print(my_dict[‘key1’]) # 输出’value1’

运算符

占位符

运算符类似c语言中sprintf或者printf函数中使用的占位符,在字符串中可以给出一些占位符来表示不同类型的数据,而实际的数据值在字段串之外给出。
常用的占位符如下
%s:用于替换字符串
%d:用于替换整数
%f:用于替换浮点数
示例:name = ‘Alice’
age = 20
height = 1.65
print(‘My name is %s, I am %d years old and %.2f meters tall.’ % (name, age, height))
结果为:My name is Alice, I am 20 years old and 1.65 meters tall.

算数运算符

在Python中,常用的算数运算符有以下几种:
加法运算符:+
减法运算符:-
乘法运算符:*
除法运算符:/
取余运算符:%
取整除运算符://
成方运算符:**

赋值运算符

在Python中,常用的赋值运算符有以下几种:
等号运算符:=
加等于运算符:+=
减等于运算符:-=
乘等于运算符:*=
除等于运算符:/=
取余等于运算符:%=
取整除等于运算符://=

比较运算符

在Python中,常用的比较运算符有以下几种:
等于运算符:==
不等于运算符:!=
大于运算符:>
小于运算符:<
大于等于运算符:>=
小于等于运算符:<=

逻辑运算符

在Python中,常用的逻辑运算符有以下三种:

1
2
3
与运算符:and
或运算符:or
非运算符:not

位运算符

十进制转二进制
除基取余法:
用2去除十进制整数,得到商和余数;
如果商不为0,则继续使用2除,再得到商和余数,重复该步骤直到商为0;最后将余数按照从后到前的顺序排列,即得到转换后的二进制数。

1
除基数取余法中的基指的是基数,基数即为一种数制中可用数码的个数。二进制可用的数码中有0和1两个,所以二进制的基数是2

二进制数转十进制数的规则就是 ”按权展开求和“,即将二进制数的每一位写成数码乘以位权的形式,在对乘积求和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Python中的位运算符有:

- 按位与(&)
- 按位或(|)
- 按位异或(^)
- 按位取反(~)
- 左移位(<<)
- 右移位(>>)

例如,假设有两个二进制数 0b1010 和 0b1100,我们可以使用位运算符进行操作:

- 按位与:0b1010 & 0b1100 = 0b1000
- 按位或:0b1010 | 0b1100 = 0b1110
- 按位异或:0b1010 ^ 0b1100 = 0b0110
- 按位取反:~0b1010 = 0b0101
- 左移位:0b1010 << 2 = 0b101000
- 右移位:0b1010 >> 2 = 0b10