高级变量
非数字型变量:字符串、列表、元组、字典
关键词、函数、方法
关键词后面不带括号: keyword.kwlist
函数可直接调用: 函数名(参数)
方法需要通过对象调用,也是针对该对象进行的操作: 对象.方法名(参数)
列表
定义列表name_list = [“zhangsan”,18,1.75]
查看列表功能name_list+Tab
列表常用操作
name_list = ["zhangsan" , "lisi" , "wangwu"]
name_list2 = ["孙悟空" , "猪八戒" , "唐僧"]
print(name_list[2])
#查找
print(name_list.index("lisi"))
列表循环遍历
Python专门提供了迭代iteration遍历
name_list = ["张三" , "李四" , "王五" , "王小二"]
#使用迭代遍历列表
for my_name in name_list:
print("我的名字叫 %s" % my_name)
列表应用场景
元组
定义元组info_tuple = (“zhangsan”,18,1.75)
查看元组功能info_tuple+Tab
元组只有一个元素时,需要在后面加逗号:info_tuple = (50, )
元组常用操作
元组循环遍历
info_tuple = ("zhangsan" , 18 , 1.75)
#使用迭代遍历元组
for my_info in info_tuple:
#使用格式字符串拼接 my_info 这个变量不方便!
#因为元组中通常保存的数据类型不同!
print(my_info)
元组应用场景
info_tuple = ("小明" , 21 , 1.85)
#格式化字符串后面的()本质上是一个元组
print("%s 年龄是 %d 身高是 %.2f" % info_tuple)
#使用元组可以拼接一个字符串
info_str = "%s 年龄是 %d 身高是 %.2f" % info_tuple
print(info_str)
元组月列表相互转换
list(元组)、tuple(列表)
字典
定义字典xiaoming = {“name”:“小明”,“age”:18}
查看字典功能xiaoming+Tab
字典常用操作
xiaoming_dict = {"name": "小明"}
#1、取值
print(xiaoming_dict["name"])
#2、增加/修改
#如果key不存在,会新增键值对
xiaoming_dict["age"] = 18
#如果key存在,会修改已经存在的键值对
xiaoming_dict["name"] = "小小明"
#3、删除
xiaoming_dict.pop("name")
print(xiaoming_dict)
xiaoming_dict = {"name": "小明",
"age": 18}
#1、统计键值对数量
print(len(xiaoming_dict))
#2、合并字典
temp_dict = {"height": 1.75,
"age": 20}
#注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming_dict.update(temp_dict)
#3、清空字典
xiaoming_dict.clear()
print(xiaoming_dict)
字典循环遍历
xiaoming_dict = {"name": "小明",
"qq": "123456",
"phone": "10086"}
#迭代遍历字典
#变量k是每一次循环中,获取到的键值对key
for k in xiaoming_dict:
print("%s - %s" % (k , xiaoming_dict[k]))
字典应用场景
#使用多个键值对,存储,描述一个物体的相关信息
#将多个字典放在一个列表中,再进行遍历
card_list = [
{"name": "张三",
"qq": "123456",
"phone": "110"},
{"name": "李四",
"qq": "654321",
"phone": "10086"}
]
for card_info in card_list:
print(card_info)
students = [
{"name": "阿土"},
{"name": "小美"}
]
#在学员列表中搜索指定的姓名
find_name = "李四"
for stu_dict in students:
print(stu_dict)
if stu_dict["name"] == find_name:
print("找到了 %s" % find_name)
#如果已经找到,应该直接退出循环,而不再遍历后续的元素
break
else:
#如果希望搜索列表时,所有的字典检查之时,都没有发现需要搜索的目标
#还希望得到一个统一的提示!
print("抱歉没有找到 %s" % find_name)
print("循环结束")