序列

list() ——把一个可迭代对象【可以是字符串,元组】转化为列表,可不带参数——生成空列表,或者带一个迭代器作为参数

tuple() ——可迭代对象转化为元组

str(obj) ——把obj对象转换为字符串,返回一个对象的string格式

python 无序列表分组_python 无序列表分组

len(x) ——返回x的长度

max() ——返回序列或参数集合中的最大值

min() ——最小值 【max与min中的类型必须一样】

代码:

python 无序列表分组_全局变量_02

输出:

python 无序列表分组_全局变量_03

sum(iterable,n)   ——返回序列iterable和可选参数n的数值总和【非数字类型不可】

sorted()   ——排序

reversed()   ——返回迭代器对象

enumerate()   ——枚举 返回迭代器对象 通过list()后产生[(0,n),(1,x),(2,y)……]

zip(a,b)   ——返回参数的序列组成的元组

a = [1,2,3] b=[4,5,6]

list(zip(a,b)) = [(1,4),(2,5)...]   ——zip的返回值类型是对象

函数参数

关键字参数:

调用:

xx(a='ccc',b='ddd') 即可以无视参数前后位置的影响

定义:

def xx(a,b):

...

默认参数:【定义 + 调用使用】 必须放在最后,否则会报错

def xxx(a,b='123'):

……

即如果没传入b参数,则b使用默认值123

调用的时候可以不写参数,也可以重新定义参数

收集参数(可变参数)

def xxx(*y):

……

可以传多个参数 xxx('...',1,2.3,5,6,7) 【这些参数被当作元组处理】

#如果需要收集参数 + 固定参数【用关键字参数 + 默认参数处理】

python 只有函数【有return 返回值就返回那个,没有就返回一个None对象】,没有过程

类型属于对象,变量是没有类型的

python 无序列表分组_python无序序列_04

python 无序列表分组_python无序序列_05

迭代

是重复反馈过程的活动,接近并达到目标 每次迭代后的结果,作为下次迭代的初始

定义函数:

def xxx():

xxx……

xxx……

调用函数:

xxx() / xxx(参数)

含参数函数:

def xx(a,b):

……

xx(1,2) / xx('aaaa','bbbbb')

函数的返回值:

return ……

不带参数值的return语句返回None

函数文档

函数内部的注释,可用xx._doc_ 打印

#这里是注释

return 默认返回一个元组【可修改】

return 1,2,'haha' —— (1,2,'haha')

return [1,2,'haha'] —— [1,2,'haha']

全局变量的修改

在函数内部修改的话,python会自动创建一个一模一样的局部变量【屏蔽方法】,从而不会修改全局变量

若想修改---> global

python 无序列表分组_迭代_06

输出:10 30

内部函数

【作用域【即定义和调用】在外部函数之内,出了外部函数就无法调用】

python 无序列表分组_元组_07

输出:

python 无序列表分组_python 无序列表分组_08

闭包

【函数式编程】

如果在一个内部函数里对外部作用域【即外部函数】【有引用但不是对全局变量【相对于内部函数而言,外部函数定义的数也是全局变量,所以,可引用但不可修改】的引用 + 修改】,内部函数即被认为是闭包

python 无序列表分组_python 无序列表分组_09

输出:10

引用且修改:

python 无序列表分组_python无序序列_10

输出:

python 无序列表分组_全局变量_11

如果加上nonlocal x

输出:10

匿名函数

使用lambda关键字创建

lambda x : x + 1 # :左面是参数,右面是返回值

python 无序列表分组_python 无序列表分组_12

输出:5

python 无序列表分组_python 无序列表分组_13

filter() 过滤器

有两个参数(函数名【不需要+()】 or None,可迭代对象)

1.第一个是函数的话,把可迭代对象中的数值当作函数的参数使用,返回结果为true的值筛选出来,返回对象,可用list()变成一个list

2.为None时,把可迭代对象中true的值筛选出来

map() 映射

有两个参数(函数名【不需要+()】,可迭代对象),可迭代对象中的数值当作函数的参数使用,直到加工完毕,返回所有加工完毕的结构构成的新序列

递归:

函数调用自身的行为

设置递归的深度:

import sys

sys.setrecursionlimit(100) #设置深度100层

print(' xx '.center(10,'*'))

输出:

python 无序列表分组_元组_14

python 无序列表分组_元组_15

输出:

** xxxx **

输出变量值:

>>>i =256*256>>>print('i 的值为:',i)i 的值为:65536

end 关键字

关键字end可以用于将结果输出到同一行,或者在输出的末尾添加不同的字符

# Fibonacci series: 斐波纳契数列# 两个元素的总和确定了下一个数a, b= 0, 1whileb< 1000:

print(b, end=',')a, b= b, a+b

执行以上程序,输出结果为:

1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,

print() sep 参数使用:

>>>a=10;b=388;c=98>>>print(a,b,c,sep='@')10@388@98

python 无序列表分组_元组_16