就像数据库中有基本的数据类型一样,python中也有基本的数据类型。
数字 int
数字是最基本的类型,在python中可以通过数字进行加减乘除的运算。
符号 | 说明 | 举例 |
---|---|---|
+ | 加法 | 10+3 |
- | 减法 | 10-3 |
* | 乘法 | 10*3 |
/ | 除法 | 10/3 |
// | 取商 | 10//3 |
% | 取余数 | 10%3 |
** | 取幂运算 | 10**3 |
# 定义一个变量 a
a = 10
b = 3
# 计算 a+b
print(a+b)
print(a-b)
print(a*b) # * 表示乘法
print(a/b) # / 表示除法
print(a//b) # // 取商值 3
print(a%b) # % 取余数 1
print(a**b) # 10的3次 10*10*10 1000
字符串 str
定义字符串
a = "hello world"
print(a) # hello world
# 查看变量的类型
print(type(a)) # <class 'str'>
b = 'china-中国'
print(b) # china-中国
print(type(b)) # <class 'str'>
字符串拼接 +
可以使用+
将两个字符串拼接合并到一起。
name = '小明'
desc = "喜欢读书,学习!"
print(name+desc) # 小明喜欢读书,学习!
字符串重复 *
将字符串与数字 之间使用 * 表示字符串重复n次
c = "hello"
print(c*10)
不能跟带有小数点的数字进行 *
# print(c*4.5) #这样不可以,会报错。必须是整数
格式化输出 f
name = "小王"
age = 26
phone = "13216771688"
salary = "12k"
print(f"{name}今年{age}岁,他的电话是{phone},今天收到一个{salary}的offer") #小王今年26岁,他的电话是13216771688,今天收到一个12k的offer
其他字符
符号 | 说明 |
---|---|
\\t |
tab键缩进 |
\\n |
换行 |
a = "hello\t"
print(a*10)
b = "world\n"
print(b*10)
c = a+b
print(c * 3)
Windows路径前 r
在postman。jmeter中做接口使用过 csv数据驱动,要传入一个csv的文件路径。后期在python自动化中也要做csv的数据驱动,需要路径
csv_file = r"c:\ausers\testuser\nextdata\testdata.csv"
print(csv_file)
在路径之前,添加r
表示路径中的 \t \n 不要当成换行或者 tab缩进。
列表 list
如果要存放很多数据,比如一个教室中可以有很多学员。可以将学员的姓名存放到list中。
定义list
students=["小明","张三","李四","tom","jack"]
print(type(students)) #<class 'list'>
访问列表中的元素
可以通过使用索引值的方式来访问列表的元素。
- 0 表示第一个元素
- -1 表示最后一个元素
```python
students=[“小明”,”张三”,”李四”,”tom”,”jack”]
print(type(students)) #
print(students[0]) # 小明 print(students[-1]) #jack
print(students[100]) # 索引超过数据本身的长度,就会报错
<a name="HKpR9"></a>
## 操作list中的元素内容
list中的元素可以进行增删改查
```python
students=["小明","张三","李四","tom","jack"]
print(type(students)) # <class 'list'>
print(students[0]) # 小明
print(students[-1]) #jack
# 添加一个元素
students.append("小红")
print(students)
# 删除元素 根据索引的位置删除
students.pop(0) # 将索引位置为0的元素 删掉
print(students) # ['张三', '李四', 'tom', 'jack', '小红']
# 查找, 根据值查找所在list中索引位置
lisi_index = students.index("李四")
print(lisi_index) # 1
# 更改元素值
# 将第一个元素值改为 张铁柱
students[0] = "张铁柱"
print(students) # ['张铁柱', '李四', 'tom', 'jack', '小红']
# 清空列表中所有的元素值
students.clear()
print(students) # []
元组这种数据类型可以对数据进行增删改查,很多应用都使用这种数据结构进行存储数据。比如学生管理系统,使用列表来管理学员信息。
排序 sort
列表中也可以通过内置方法对元素值进行排序。
nums = [10,7,9,4,15,2,3]
# 使用 sort 方法进行排序
nums.sort() # 默认从小到大进行排序
# 查看排序之后的结果
print(nums) # [2, 3, 4, 7, 9, 10, 15]
nums.sort(reverse=True) # 从大到小进行排序
print(nums) # [15, 10, 9, 7, 4, 3, 2]
字符串也可以进行排序
words = ["hello", "apple", "babana","world"]
words.sort()
print(words) # ['apple', 'babana', 'hello', 'world']
中文排序
cheses = ["学生","老师","班主任","校长"]
cheses.sort()
print(cheses)
print(ascii("学生")) # '\u5b66\u751f'
print(ascii("老师")) # '\u8001\u5e08'
print(ascii('班主任')) # '\u73ed\u4e3b\u4efb'
print(ascii('校长')) # '\u6821\u957f'
元组 tuple
定义元组
# 定义元组
students = ("zhangsan","lisi")
# 打印类型
print(type(students)) # <class 'tuple'>
print(students) # ('zhangsan', 'lisi')
访问元素
- 0 表示 第一个
- -1 表示最后一个
元组中的数据不能被修改
# 定义元组
students = ("zhangsan","lisi")
# 打印类型
print(type(students)) # <class 'tuple'>
print(students) # ('zhangsan', 'lisi')
print(students[0])
print(students[-1])
students[0] = "张铁柱" # 报错,因为值不能被修改
集合 set
集合这种类型的数据 主要特征:
- 无序 里面的数据没有顺序,也就说不能通过索引的方式来访问里面的值
- 值唯一 会自动去重。
定义集合
```python定义一个集合
nums = {100,1,10,3,9,3,9,2,2,8,4}打印
print(nums) # {1, 2, 3, 100, 4, 8, 9, 10} 会自动将重复的数据去掉
print(nums[0]) # 会报错 不支持索引
集合用来最多的操作就是进行数据去重。
<a name="KA1ps"></a>
## 集合set,列表 list,元组 tuple 之间相互类型转换
```python
# 定义一个集合
nums = {100,1,10,3,9,3,9,2,2,8,4}
# 打印
print(nums) # {1, 2, 3, 100, 4, 8, 9, 10} 会自动将重复的数据去掉
# print(nums[0]) # 会报错 不支持索引
print(type(nums)) # <class 'set'>
# 将集合转换为列表
nums_list = list(nums)
print(type(nums_list),nums_list) # <class 'list'> [1, 2, 3, 100, 4, 8, 9, 10]
# 将集合转换为元组
nums_tuple = tuple(nums)
print(type(nums_tuple),nums_tuple) # <class 'tuple'> (1, 2, 3, 100, 4, 8, 9, 10)
# 将列表转换为集合
words = ["a","a","b","c","b"]
words_set = set(words)
print(type(words_set),words_set) # <class 'set'> {'b', 'c', 'a'}
给定如下数据,请使用自己熟悉的编程语法 进行数据去重并按从小到大进行排序。
nums = [10,4,9,100,3,4,8,10]
# 将数据转换为集合set类型 进行去重
nums_set = set(nums)
print(nums_set)
# 将集合再转换为列表
nums = list(nums_set)
print(nums)
# 列表排序
nums.sort()
print(nums) # [3, 4, 8, 9, 10, 100]
字典 dict
字典类型主要是 key:value 格式 成对出现,根接口测试中json数据类型类似。
定义字典
user = {
"name":"张三",
"age":30,
"friends":["李四","王五"]
}
print(type(user),user)
# 访问 name
print(user["name"])
print(user["friends"])
# 第一个朋友的姓名
print(user["friends"][0]) # 李四
# 更改name
user["name"] = "张铁柱"
print(user) # {'name': '张铁柱', 'age': 30, 'friends': ['李四', '王五']}
# 添加属性
user["names"] = "hahaha"
print(user) # {'name': '张铁柱', 'age': 30, 'friends': ['李四', '王五'], 'names': 'hahaha'}
# 删除names属性
user.pop("names")
print(user) # {'name': '张铁柱', 'age': 30, 'friends': ['李四', '王五']}
字典可以用来描述一个对象,对象中有很多属性,属性就是字典的key,对应的就是value
字典中的key值使用 字符串来表示, 对应的value值可以是 字符串,也可以是数字,也可以列表,元组等。
接口测试过程中,发送的参数,已经服务器返回的结果都是字典格式的数据。
bool类型
bool类型主要有两个值
- True 表示真
- False 表示假
None 类型
如果值为空,可以使用None来表示。