一 元组(tuple)
元组与列表类似,不同之处在于元组的元素不能修改
元组的写法:
使用小括号,元组中的值用逗号来隔开
元组的取值:
和列表一样,第一个索引为 0, 最后一个为 -1
注意:
- 当元组中只有一个值的情况下,必须加一个逗号,否则数据类型为 int,而不是 tuple
- 元组中的个别值不能进行删除,但是可以删除整个元组
- 可以使用加号(+)进行连接
二 集合(set)
集合是一个无序不重复的序列
作用:去除重复的数据
集合的创建:
可以使用大括号{}或者set()方法来创建集合
注意:
创建一个空集合必须使用set(),因为使用大括号创建的是一个字典(dict)类型
集合的运用:
a - b # a和b的差集(a中有,b中没有的)
a | b # 并集
a & b # 交集(同时存在)
a ^ b # 不同时存在的元素
三 字典(dict)
(1)字典的创建
使用{ }来创建字典,字典是一个键值对的形式
(2)例如:
myDict = {} # 空字典
myDict = {'name' : 'zhangsan', 'sex' : 'M'}
(3)字典的取值:
通过字典的唯一键将值取出来
(4)字典的值的修改
使用字典的唯一键赋予一个新的值
变量名[键名] = 新的值
(5)字典添加新值
使用一个字典中不存在的键,赋予值
变量名[键名] = 值
(6)字典值的删除
del 变量名[键名]
(7)删除整个字典
del 变量名
注意:
- 字典是一个映射类型,他的元素是键值对
- 字典的关键字必须是不可变类型,且不能重复
- 创建空字典使用{ }
- 列表是有序的对象的集合,字典是无序的
- 在同一个字典中,键必须是唯一的
- 字典的值是通过键来存取的,而不是通过偏移量
字典常用的函数
函数名 函数的说明
items() 以列表的形式返回可遍历字典的键值对的形式
keys() 返回所有的键
values() 返回所有的值
pop(key) 弹出键值对,参数为键
dict1.update(dict2) 把字典dict2更新到dict1中,无返回值
popitem() 删除字典中最后一个键值对
copy() 字典的拷贝
四 数据类型的转换
函数名 函数的说明
int() 转换成整型
float() 转换成浮点型
str() 转换成字符串
eval() 计算字符串中有效的表达式
tuple() 转换成元组
list() 转换成列表
set() 转换成集合
dict() 转换成字典
函数function
一 什么是函数
函数是可以实现一些特定功能的小方法或小程序。
优点:
- 增加了代码的重复使用率
- 减少了代码量
- 提高了代码的维护
二 函数的定义
使用 def 关键字 函数名()
函数体
def 函数名([参数......]):
函数体
函数的命名规则:
遵守变量的命名规则
函数的调用:
函数名([实参...])
注意:
- 函数名区分大小写
- 函数可以重名,但是会被覆盖
三 函数的参数问题
(1)无形参的函数
没有参数的函数是最基本的函数,在定义和调用的时候,都不需要传入参数
def sum():
print('无参数的函数')
sum()
(2)有形参且没有默认值的函数
在函数定义的时候,在函数的括号里加上变量名的函数成为有形参的函数
注意:
- 如果函数有形参且没有默认值的情况下,调用的时候必须传入实际参数
当给实参且没有实参关键字的情况下,实参和形参是一一对应的关系
def sum(x, y):
result = x + y
print(result)
sum()
(3)有形参且有默认值的函数
在函数括号里,参数名 = 值
注意:
- 如果函数有形参,且有默认值,那么调用的时候可以不传入实参,默认使用形参的默认值
- 如果传了实参,就会根据实参的值进行操作
实参和形参的值还是一一对应的
def sum(x = 3, y = 5):
result = x + y
print(result)
sum() # 8
sum(3, 2) # 5
(4)部分形参有默认值
- 正常遵守形参默认值的写法,将有默认值的参数放在后面
def sum(x, y = 5):
result = x + y
print(result) - 参数默认值错误的写法
def sum(x = 5, y):
result = x + y
print(result)
(5)参数不一一对应的情况
通过形参的关键字 = 值,可以使参数不一一对应
def sum(x, y):
result = x + y
print(x, y, result)
sum(y = 2, x = 1)
(6)不定长的参数
使用符号 *参数名,可以以元组的形式接收0个或多个参数
# 可以接收多个实参,以元组的形式接收
def demo(*args):
print(args)
demo('Sandy', 'Amy', 'Nian')
def demo(a, b, *args):
print(a)
print(b)
print(args)
demo('Sandy', 'Amy', 'Nian')
'''
Sandy
Amy
('Nian',)
'''
(7)不定长的参数**
不确定参数的接收,接收以后是字典的形式
# 不确定的参数
def demo(**args):
print(args) # {'name': 'Sandy', 'age': 'Amy', 'hobby': 'Nian'}
demo(name = 'Sandy', age = 'Amy', hobby = 'Nian')
(8)定长与不定长参数的混写
# 定长与不定长参数的混写
def demo(a, b, *c, **args):
print(a)
print(b)
print(c)
print(args)
demo('a', 'b', 'c', 'd', name = '张三', age = 12)
'''
a
b
('c', 'd')
{'name': '张三', 'age': 12}
'''
(9)函数调用的时候的**的使用
def demo(**args):
print(args)
myDict = {'name' : 'zhangsan'}
# demo(myDict) # demo() takes 0 positional arguments but 1 was given
demo(**myDict)
四 return 返回值
- 没有return,也就是没有返回值的函数,为None
- return会把值返回给调用处
- 使用return的函数可以将返回值赋值给一个变量去使用
使用return的函数,需要将函数的调用处进行print(输出),否则没有任何结果出来
def sum(x, y):
result = x + y
# print(result)
return resultresult = sum(3, 5)
print(result) # 8