集合,固定集合,函数

集合set
    集合是可变的容器
    集合内的数据对象是唯一的(不能重复多次)
    集合是无序的存储结构,集合中的数据没有先后关系
    集合内的元素必须是不可变对象
    集合是可迭代的
    集合是相当于只有键没有值的字典(键则是集合的数据)


创建空的集合
 s = set()  #set() 创建一个空集合


创建非空集合
 s = {1,2,3}  #集合中的三个整数1,2,3


集合的构造函数 set
 set() 创建空集合
 set(iterable) 用可迭代对象创建一个新的集合对象


 示例:
 s = set("ABC")
 s = set("ABCCBA")
 s = set({1:"-",2:"二",5:"五"})
 s = set(1,3.14,False)
 s = set((2,3,5,7))
 s = set([1,2,[3.1,3.2],4]) #错的,[3.1,3.2]是可变对象


 集合的运算:
 交集,并集,补集,子集,超集


 & 生成两个集合的交集
 s1 = {1,2,3}
 s2 = {2,3,4}
 s3 = s1 & s2   #{2,3}


 | 生成两个集合的并集
 s1 = {1,2,3}
 s2 = {2,3,4}
 s3 = s1 | s2   #{1,2,3,4}


 - 生成两个集合的补集
 s1 = {1,2,3}
 s2 = {2,3,4}
#生成属于s1,但不属于s2的元素
 s3 = s1 - s2


^生成两个集合的对称补集
s1 = {1,2,3}
s2 = {2,3,4}
s3 = s1 ^ s2 # s3 = {1,4}
#等同于s3 = (s1 - s2) | (s2 - s1)


<判断一个集合是否是另一个集合的子集
>判断一个集合是否是另一个集合的超集 -->
s1 = {1,2,3}
s2 = {2,3}
s2 < s1  #True 判断子集
s2 > s1  #True 判断超集


== != 集合相同/不同
s1 = {1,2,3}
s2 = {2,3,1}
s1 == s2 # True
s1 !== s2 #False #集合的数据没有先后关系


in / not in运算符
等 同于字典,in 运算符用于集合中,
当某个值存在于集合中,则为真,否则为假
not in 与 in返回值相反
示例:
 s = {1,"two",3.14}
 1 in s #True
 2 in s # False
 3.14 not in s #False
 4 not in s #True


 python3中可以用于集合的函数
 len(x)  max(x) min(x) sum(x) any(x) all(x)


 集合是可迭代对象
 s = {1,2,3}
 for x in s:

    print(x)

集合推导式
    用可迭代对象来创建(生成)集合的表达式


    语法:
     {表达式 for变量in可迭代对象[if真值表达式]}
    []括号部分可以省略


    示例:
    L = [2,3,5,7,3,5,7,11]

    s= {x**2 for x in L} #s = {4,9,25,49,121}

固定集合frozenset
        固定集合是不可变的,无序的,含有唯一元素的集合


     作用:
        固定集合可以作为字典的键,也可以作为集合的值


    创建空的固定集合
    fs = frozenset()
    创建非空的固定集合
    fs = forzenset([2,3,5,7])


    构造函数:
    frozenset()
    forzenset(iterable) #同 set函数一致,返回固定集合
    固定集合的运算:
    & 交集
    | 并集
    - 补集
    ^对称补集
    > >= < <= == !=
    in/not in
    (以上规则同set中的用法)
    固定集合的方法:
    相当于集合的全部方法去掉修改集合的方法


阶段总结:
数据类型
    不可变数据类型
    bool, int, float,complex,str,tuple:任意类型数据存储,
    frozenset:不可变数据类型, bytes
    可变数据类型
    list,dict,set,bytearray(字节数组)


值:
    None, True, False ...
运算符
+ - * / // % **
> >= < <= == !=
is  is not
in  not in
not and  or
& | ^ - 
+(正号)
-(负号)


表达式,一定可以在赋值表达式的右边,一定可以返回值
1
1 + 2
len([1,2,3])
条件表达式 x if x > y else y
全部的推导式:
    列表,字典,集合推导式(三种)


语句:
表达式语句:
print("abc")
"hello"
赋值语句:创建和修改变量,没有创建对象
a = 10
a = b = c = 200
x,y = 100,200
if 语句
while 语句
for  语句
break 语句
continue 语句
pass 语句
del 语句


内建函数:
len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
-------
bool(x)
int(x)
float(x)
complex(x)
str(x)
list(x)
tuple(x)
dict(x)
set(x)
frozenset(x)
-------
abs(x)
round(x)
pow(x,y,...)
-------
bin(x)
oct(x)
hex(x)
chr(x)
ord(x)
-------
range([start, ]stop[,step])
-------
input(x)
print(...)


---------------
函数function
什么是函数:
    函数是可以重复执行的语句块,可以重复使用
作用:
    1.用于封装语句块,提高代码的重用性
    2.定义用户级别的函数


函数定义(创建)语句 def 语句的语法:
    def 函数名 (形参列表):
        语句块


说明:
   1.函数的名字就是语句块的名称
   2.函数名的命名规则与变量名相同(函数名必须为标识符)
   3.函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数
   内部访问函数外部的变量,通常让函数处理外部数据需要用参数给函数传入
   一些数据
   4函数的参数列表可以为空
   5.语句部分不能为空.如果为空需要填充pass语句


示例见:
    code/def.py


函数的调用
    函数名(实际调用传递参数列表)
    注:实际调用传递参数以后称为实参


    说明:
     函数调用是一个表达式
     如果没有return语句,此函数执行完毕后返回None对象
     如果函数需要返回其它的对象需要用到return语句


猜你喜欢

转载自blog.csdn.net/weixin_42130019/article/details/80287096