一、list,tuple,dict,set
list是可变的有序列表,索引从0开始,-1表示最后一个元素。list里面的元素数据类型可以不相同。
list1=['a','b','c','d',100]
list1[0] // 'a'
list1[-1] // 'd'
在list末尾追加元素list.append('新元素'),插入到指定位置比如索引为n的 list.insert(n,'新元素'),删除指定位置比如索引为m的元素list.pop(m),list.pop()是删除末尾的元素。可以用直接赋值的方式改变某元素的值。
tuple和list非常类似,但tuple一旦初始化就不能修改了。tuple获取元素的方法和list是一样的,但它没有append(),insert(),pop()这些方法。
tuple1=('a','b','c',10) // 4个元素的tuple
tuple1[1] // 'b'
tuple2=(1,) // 1个元素,加逗号避免认为是数学意义上的括号1
dict就是其他语言的map,也就是用key-value存储
d1={'yuwen':99,'shuxue':95,'yingyu':85} // 初始化一个dict并赋值
d1['shuxue'] // 95
d1.get('shuxue') // get方法,95
d1.pop('shuxue') // 删除key和对应的value
d1['shuxue'] = 97 // 加入新key并赋值
d1['shuxue'] = 98 // 改变value
set和dict类似,不存储value,在set中没有重复的key
set1=set([1,2,3])
set1.add(4)
set1.remove(4)
二、自定义函数
自定义一个函数使用def语句,依次写出函数名、括号、括号中的参数和冒号,在缩进块中编写函数体,函数的返回值用return语句返回。没有返回值return None或return。返回值是多的时候,其实是返回一个tuple。
def myfunction(x):
if not isinstance(x, (int, float)): // 检查输入参数类型
raise TypeError('错误的参数类型')
if x >= 0:
return '正数'
else:
return '负数'