模块的细碎知识
1 . 所有以py扩展名结尾的python源代码文件就是一个模块,模块中定义的全局变量,函数都是模块能够提供给外界直接使用的工具,也叫做一个功能
2 . 模块名也是一个标识符
所以项目中的文件名也不能以数字开头
变量类型包括数字型变量和非数字型变量
非数字型变量是高级变量类型
高级变量类型
- 列表
列表是有序数据的集合
列表名.方法 .代表范围,在该列表中使用该方法
函数和方法不同,函数是输入实参可以直接调用,而方法需要在变量后加上. 然后在接上方法
函数和方法类似,都是封装了独立功能的代码块,而方法的使用方式和函数不同
在命令提示符中,可以定义一个空列表查看列表的方法 比如 name_list = []
name_list. 然后按下tab键
- 取值和取索引
name_list = ["zhangsan","lisi","wangwu"]
print(name_list[0])
print(name_list.index("wangwu"))
- 修改
name_list[2] = "csdn"
- 添加数据
name_list.append("xiaoer") # 列表末尾添加
name_list.insert(1,"meimei") # 指定位置添加
temp_list = ["a","b"]
name_list.extend(temp_list)
- 删除
name_list.remove("meimei")
name_list.pop() # pop()方法默认可以把最后一个元素删除
name_list.pop(1)
name_list.clear() # 清空列表
- del关键字
本质将变量从内存中删除 列表中删除数据一般采用列表提供的方法
del name_list[1]
print(name_list)
- 列表长度统计
list_len = len(name_list)
print("列表中包含%d个元素" % list_len)
count = name_list.count("zhangsan")
print("zhangsan一共出现了%d 次" % count)
7.排序
num_list = [3,4,5,6,1]
name_list = ["aaa","bbb""ccc"]
#升序
num_list.sort()
#降序
num_list.sort(reverse = True)
#逆序
num_list.reverse()
在python中关键字后不需要加括号
8.列表循环遍历
从头到尾从列表中获取数据
在python中,可以使用for循环来进行迭代遍历
9.列表的应用场景
列表中通常存储相同类型数据
通过迭代遍历,在循环体内部,针对列表中的每一项元素执行相同操作
- 元组
元组是无序数据的集合
元组与列表类似,但是元组中的元素不能进行修改
元组中通常存放不同类型数据
single_tuple = (5,) 可以定义一个只包含一个元素的元组
1.元组的遍历
tuple = ()
for item in tuple:
print(item)
2.元组的格式化字符串
在格式化字符串中后面的括号本质上就是一个元组
item = ("xiaoming",18,178.5)
print("%s的年龄是%d,身高是%.2f" % item)
利用元组可以对新的字符串进行拼接,如
item_str = “%s的年龄是%d,身高是%.2f” % item
print(item_str)
3.元组的基本操作
item = ()
item.count() and item.index()
4.列表与元组转换的函数
list(元组)
tuple(列表)
- 字典
字典通常用来描述一个物体的信息
字典是除list外很灵活的一个数据类型,是以键值对的形式保存的,一个键值对描述一个信息,键用来获取数据,值用来保存数据
xiaoming = {"name" : "xiaoming",
"age": 18,
"gender" = "boy"}
#字典中每一个键值对占用独立一行
1.取值
xiaoming_dict = {"name":"xiaoming"}
print(xiaoming_dict["name"])
2.增加/修改
xiaoming_dict = {"name":"xiaoming"}
xiaoming_dict["age"] = 18
xiaoming_dict["age"] = 19
3.删除
xiaoming_dict.pop(“age”)
字典的常用操作
1.统计键值对数量
print(len(xiaoming_dict))
2.字典的合并操作
xiaoming_dict = {"name" : "xiaoming",
"age" : 18}
print(len(xiaoming_dict))
temp_dict = {"height" : 175,
"gender" : "boy"
}
xiaoming_dict.update(temp_dict)
#可以实现字典的一个更新操作
3.清空字典
xiaoming_dict.clear()
4.字典的迭代遍历
xiaoming_dict = {"name" : "xiaoming",
"age" : "18"}
for k in xiaoming_dict: # 变量k是循环中每次获取到的键
print("%s - %s" % (k,xiaoming_dict[k]))
5.列表和字典的组合应用
将多个列表放在一个字典中
card_list = [
{"name":"zhangsan",
"id":"123"}
{
}
]
for card_info in card_list:
print(card_info)
从这里可以看出来,列表保存的是有序的数据,而字典保存的是无序的数据
- 字符串
- len(字符串)
大字符串.count(小字符串) 小字符串在大字符串中出现的次数
字符串[index]
大字符串.index(小字符串) 获得小字符串在大字符串中第一个出现的索引
2.文本对齐的方法
# 顺序并居中输出以下内容
poem = ["登黄鹤楼",'王之涣','白日依山尽','黄河入海流']
for poem_str in poem:
print('|%s|' % poem_str.center(10,' '))# 居中对齐
print('|%s|' % poem_str.center(10,' '))# 向右对齐
3.字符串去除空白字符方法
string.strip() # 删除字符串左右的空白字符
poem = [/t/n"登黄鹤楼",
/t/n'王之涣',
'白日依山尽'/t/n,
'黄河入海流']
poem.strip()
print('|%s|' % poem_str.center(10,' '))# 居中对齐
4.字符串的拆分和连接
poem = ["登黄鹤楼"\t \n'王之涣',\t'白日依山尽',\t \t'黄河入海流']
# 拆分字符串
poem_list = poem.split()
# 连接字符串
result = ' '.join(poem_list)
print(result)
5.字符串的切片
切片方法适用于列表,元组,字符串
- 切片使用索引值来限定范围,从大的字符串中切出小的字符串
- 列表和元组都是有序的集合,通过索引值获取数据,字典是无序的集合,通过键值对保存与获取数据
string[开始索引:结束索引:步长]
# 逆序切片字符串
num_str = '0123456789'
num_str[-1::-1]
- 高级数据类型之- 公共方法
- python中的内置函数
del()
len()
max() 对于字典,只比较键
min()
cmp(item1,item)比较 - 元组和字典可以切片,字典不行
- extend 和 append的区别
t_list = [1,2,3]
t_list.append([1,2])
t_list.extend([1,2])
-
成员运算符 in 和not in
-
python中for循环的完整结构为
for 变量 in 集合:
循环体代码
else:
for中没通过break退出循环,循环结束后,会执行的代码
students = [
{'name':'a'},
{'name':'b'}
]
# 在学员列表中搜索指定的姓名
find_name = 'a'
for stu_dict in students:
print(stu_dict)
if stu_dict['name'] == 'a':
print('找到了%s' % find_name)
break
else: # 这个else能够在遍历完所有字典后,若没找到得到一个统一的输出
print('没有找到%s' % find_name)
print('over')