元组
tuple1 = (1,2,3,4,5) #创建元组
tuple1[1] = 2 #访问元组
tuple1[3:] = (4,5) #访问元组
元组数值不能被修改;
元组不需要括号也可以赋值,逗号是关键。
temp = (1) #类型为int
temp = (1,2,3) #类型为tuple
temp = 1,2,3 #类型为tuple
temp = () #为空元组
temp = 1 #类型为int
temp = (1,) #类型为元组
更新元组
1,通过索引更新
2,通过切片方式更新
>>>temp = ('我','学','Python')
>>>temp = temp[:1]+('爱')+temp[1:]
>>>temp = ('我','爱','学','Python')
删除元组:不能删除元组中单个元素,只能删除整个元组
del temp
列表与元组的区别:
list列表是动态数组,可变且可重设长度(改变其内部元素的个数)
tuple元组是静态数组,不可变,且其内部数据一旦创建无法改变
元组缓存与python运行时环境,即每次使用元组时无须访问内核去分配内存
字符串:
-
s.format()
#位置参数
>>>'{0} love {1}.{2}'.format('I','FishC','com')
>>>'I love FishC.com
#关键字参数
>>>'{a} love {b}.{c}'.format(a='I',b='FishC',c='com')
>>>'I love FishC.com
#混合:位置参数必须在关键字参数前
>>>'{0} love {a}.{b}'.format('I',a='FishC',b='com')
>>>'I love FishC.com
-
字符串格式化符号
格式化操作符辅助命令
转义字符
列表、元组、字符串统称“序列”
共同点:
- 都可以通过索引得到每一个元素
- 默认索引值都是从0开始
- 可以通过分片的方法得到一个范围内的元素的集合
- 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
-
max()
返回序列或者参数集合中的最大值
min()
返回序列或者参数集合中的最大值
>>>max(1,2,3,4,5)
>>>5
>>>min(1,2,3,4,5)
>>>1
sum(iterable[,start=0])
返回序列iterable和可选参数start的总和
>>>tuple1 = (3.1,2.3,3.4)
>>>sum(tuple1)
>>>8.8
>>>numbers = (1,18,13,0,-98,34,54,76,32)
>>>sum(numbers)
>>>130
>>>sum(numbers,8)
>>>138
-
sorted() (= list.sort())
返回一个排序(从小到大)
>>>numbers = (1,18,13,0,-98,34,54,76,32)
>>>sorted(numbers)
>>>[-98,0,1,13,18,32,34,54,76]
-
reversed()
逆转序列
>>>numbers = (1,18,13,0,-98,34,54,76,32)
>>>reversed(numbers)
>>>list(reversed(numbers))
>>>[32,76,54,34,-98,0,13,18,1]
-
enumerate()
枚举(索引值,数值)
>>>numbers = (1,18,13,0,-98,34,54,76,32)
>>>list(enumerate(numbers))
>>>[(0,1),(1,18),(2,13),(3,0),(4,-98),(5,34),(6,54),(7,76),(8,32)]
-
zip
成对打包
>>>a = [1,2,3,4,5,6,7,8]
>>>b = [4,5,6,7,8]
>>>zip(a,b)
>>>list(zip(a,b))
>>>[(1,4),(2,5),(3,6),(4,7),(5,8)]
-
创建函数用关键字def
-
参数
形参(parameter)、实参(argument)
>>>def add(name):
#函数定义过程中的name叫形参,只是一个形式
>>>add('你')
#'你'为实参,是具体的参数值
-
函数文档
定义函数用字符串表示的解释性的话
1._doc _
2.help()
>>>def fun(name):
'你好'
print(name)
#查看函数文档
>>>fun._doc_
>>>help(fun)
关键字参数
– 可以不用按照参数的顺序调用函数,有效避免因不小心搞乱参数顺序导致的bug
默认参数
– 在定义过程中为形参赋初值
收集(可变)参数
-
局部变量(Local Variable)
函数内定义
全局变量(Global Variable)
函数外定义,作用域为整段代码
函数内修改全局变量,会重新创建一个同名的局部变量,仅应用在函数内
>>>count = 5
>>>def fun():
count = 10
print(10)
>>>fun()
>>>10
>>>print(count)
>>>5 #fun()函数外count值还是
-
内嵌函数
1,global关键字:可把局部变量变成全局变量
>>>count = 5
>>>def fun():
global count
count = 10
print(10)
>>>fun()
>>>10
>>>print(count)
>>>10 #运用global后值随着函数内count的变化而变化
2,内嵌函数
>>>def fun1():
print()
def fun2():
print()
fun2()
#在fun1()函数之外,fun2()不存在
3,闭包(Closure)
>>>def FunX(x):
def FunY(y):
return x*y
return FunY
>>>i = FunX(8) or >>>FunX(8)(5)
>>>i(5) >>>40
>>>40
# 不能在函数外部直接调用FunY()