就像数据库中有基本的数据类型一样,python中也有基本的数据类型。

数字 int

数字是最基本的类型,在python中可以通过数字进行加减乘除的运算。

符号 说明 举例
+ 加法 10+3
- 减法 10-3
* 乘法 10*3
/ 除法 10/3
// 取商 10//3
% 取余数 10%3
** 取幂运算 10**3
  1. # 定义一个变量 a
  2. a = 10
  3. b = 3
  4. # 计算 a+b
  5. print(a+b)
  6. print(a-b)
  7. print(a*b) # * 表示乘法
  8. print(a/b) # / 表示除法
  9. print(a//b) # // 取商值 3
  10. print(a%b) # % 取余数 1
  11. print(a**b) # 10的3次 10*10*10 1000

字符串 str

字符串使用 双引号或者单引号 括起来的部分 就是 字符串。

定义字符串

  1. a = "hello world"
  2. print(a) # hello world
  3. # 查看变量的类型
  4. print(type(a)) # <class 'str'>
  5. b = 'china-中国'
  6. print(b) # china-中国
  7. print(type(b)) # <class 'str'>

字符串拼接 +

可以使用+ 将两个字符串拼接合并到一起。

  1. name = '小明'
  2. desc = "喜欢读书,学习!"
  3. print(name+desc) # 小明喜欢读书,学习!

字符串重复 *

将字符串与数字 之间使用 * 表示字符串重复n次

  1. c = "hello"
  2. print(c*10)

不能跟带有小数点的数字进行 *

  1. # print(c*4.5) #这样不可以,会报错。必须是整数

格式化输出 f

  1. name = "小王"
  2. age = 26
  3. phone = "13216771688"
  4. salary = "12k"
  5. print(f"{name}今年{age}岁,他的电话是{phone},今天收到一个{salary}的offer") #小王今年26岁,他的电话是13216771688,今天收到一个12k的offer

其他字符

符号 说明
\\t tab键缩进
\\n 换行
  1. a = "hello\t"
  2. print(a*10)
  3. b = "world\n"
  4. print(b*10)
  5. c = a+b
  6. print(c * 3)

Windows路径前 r

在postman。jmeter中做接口使用过 csv数据驱动,要传入一个csv的文件路径。后期在python自动化中也要做csv的数据驱动,需要路径

  1. csv_file = r"c:\ausers\testuser\nextdata\testdata.csv"
  2. print(csv_file)

在路径之前,添加r 表示路径中的 \t \n 不要当成换行或者 tab缩进。

列表 list

如果要存放很多数据,比如一个教室中可以有很多学员。可以将学员的姓名存放到list中。

定义list

  1. students=["小明","张三","李四","tom","jack"]
  2. print(type(students)) #<class 'list'>

访问列表中的元素

可以通过使用索引值的方式来访问列表的元素。

  • 0 表示第一个元素
  • -1 表示最后一个元素 ```python students=[“小明”,”张三”,”李四”,”tom”,”jack”] print(type(students)) # print(students[0]) # 小明 print(students[-1]) #jack

print(students[100]) # 索引超过数据本身的长度,就会报错

  1. <a name="HKpR9"></a>
  2. ## 操作list中的元素内容
  3. list中的元素可以进行增删改查
  4. ```python
  5. students=["小明","张三","李四","tom","jack"]
  6. print(type(students)) # <class 'list'>
  7. print(students[0]) # 小明
  8. print(students[-1]) #jack
  9. # 添加一个元素
  10. students.append("小红")
  11. print(students)
  12. # 删除元素 根据索引的位置删除
  13. students.pop(0) # 将索引位置为0的元素 删掉
  14. print(students) # ['张三', '李四', 'tom', 'jack', '小红']
  15. # 查找, 根据值查找所在list中索引位置
  16. lisi_index = students.index("李四")
  17. print(lisi_index) # 1
  18. # 更改元素值
  19. # 将第一个元素值改为 张铁柱
  20. students[0] = "张铁柱"
  21. print(students) # ['张铁柱', '李四', 'tom', 'jack', '小红']
  22. # 清空列表中所有的元素值
  23. students.clear()
  24. 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来表示。