ParisGabriel:Python全栈工程师(0基础到精通)教程 第十三课

ParisGabriel

              感谢 大家的支持  你们的阅读评价就是我最好的动力  我会坚持把排版内容以及偶尔的错误做的越来越好

                                

                    

                   每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以

                              Python人工智能从入门到精通

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

创建集合:
  s = set() #空集合
  s = {3.14,True,(1970.1.1),“hello”} #非空

集合的构造函数:
  set()创建一个空集合(不能用{} 否则就是字典了)
  set(iterable)用可迭代对象创建一个新的集合
  创建新集合 内容重复会自动去重

例如:

集合的运算:
  交集、并集、补集,子集、超集
& 生成连个集合的交集:
  重复部分
  s1 ={1,2,3}
  s1 ={2,3,4}
  s3 = s1&s2 #s3 = {2,3}
| 生成两个集合的并集:
  所有不重复部分
  s1 ={1,2,3}
  s1 ={2,3,4}
  s3 = s1 | s2 #s3 = {1,2,3,4}
- 生成两个集合的补集:
  相当于减法
  s1 ={1,2,3}
  s1 ={2,3,4}
  s3 = s1 - s2 #s3 = {1}
^ 生成两个集合的对称补集:
  相当于减法相加
  s1 ={1,2,3}
  s1 ={2,3,4}
  s3 = s1 ^ s2 # (s1 - s2 | s2 - s1) #{1, 4}
> 判断一个集合是另一个集合的超集
< 判断一个集合是另一个集合的子集
  s1 ={1,2,3}
  s2 ={2,3}
  s1 > s2 #true s1 为s2的 超集
  s1 < s2 #true s1 为s2的 子集
  (包含关系判断)
== != 集合相同/不同:
  s1 ={1,2,3}
  s2 ={3,2,1}
  s1 == s2 # true
  s1 != s2 #false
in / not in :
  等同于字典的运算
  判断某个值是否存在

集合和字典的优点:
  in/not in 运算符速度相对来说快一些

能用于集合的函数:
  len(x)、max(x)、min(x)、sum(x)、any(x)、all(x)

Python3中常用的集合方法:
  Python3 集合的方法
  方法           意义
  S.add(e)        在集合中添加一个新的元素e;如果元素已经存在,则不添加
  S.remove(e)       从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误
  S.discard(e)       从集合S中移除一个元素e,在元素e不存在时什么都不做;
  S.clear()        清空集合内的所有元素
  S.copy()        将集合进行一次浅拷贝
  S.pop()         从集合S中删除一个随机元素;如果此集合为空,则引发KeyError异常
  S.update(s2)        用 S与s2得到的全集更新变量S
  S.difference(s2)      用S - s2 运算,返回存在于在S中,但不在s2中的所有元素的集合
  S.difference_update(s2)      等同于 S = S - s2
  S.intersection(s2)           等同于 S & s2
  S.intersection_update(s2)   等同于S = S & s2
  S.isdisjoint(s2)        如果S与s2交集为空返回True,非空则返回False
  S.issubset(s2)        如果S与s2交集为非空返回True,空则返回False
  S.issuperset(...)     如果S为s2的子集返回True,否则返回False
  S.symmetric_difference(s2)            返回对称补集,等同于 S ^ s2
  S.symmetric_difference_update(s2)    用 S 与 s2 的对称补集更新 S
  S.union(s2)                生成 S 与 s2的全集

集合推导式:
  结合推导式是用可迭代对象生成集合的表达式
语法:
  {表达式 for 变量 in 可迭代对象[if 真值表达式]}
  之前说过 [ ] 内的代表可以省略
例如:
  L= [1, 2, 5, 6, 3, 5, 9, 4, 5]
  s = {x for x in L)}
  (推导式嵌套同列表 、 字典一致)

固定集合 frozenset:
  是不可变的、无序的、含有唯一元素的集合
  用于固定集合可以作为字典的键,还可以作为集合的值
构造函数:
  frozenset() 创建一个空固定集合
  frozenset(iterable)用可迭代对象创建固定集合
例如:
  f = frozenset()# 空固定集合
  f = frozenset([ 1, 3, 5, 7]) # f = frozenset({1, 3, 5, 7})
固定集合运算:
  & 交集 、 | 并集 、- 补集、^ 对称补集
  >、 >= 、< 、<=、 ==、 !=
  in /not in
  (和集合 set 一致)
固定集合方法:
  集合的方法取掉所有修改方法

                            小结:

数据类型:
  数值类型:
    int、float、complex、bool

容器类型:
  不可变容器:
    str、tuple、frozenset、bytes(字节串)
  可变容器:
    list、dict、set、bytearray(字节组)
值:
  None、false、True
运算符:
  算数运算符:
    +、 - 、 * 、 / 、 // 、 % 、 **
  比较运算符:
    < 、 > 、 <= 、 >= 、 == 、 !=
    in / not in 、 is / is not
  布尔运算符:
    not 、 and 、or
    +(正号)、 -(负号)
    &、^ 、| 、 [ ] (索引)
表达式:
  1
  1+2
  max(1,2,3,)
  x if x > y else y (条件表达式)
  三种推导式:
    列表、字典、集合推导式(3种)
    语句:
    表达式语句:
    所有的语句都可单独写在一行,形成一个语句
    例如:
      print(“hello world”)
      1 + 2
赋值语句:
  a = 100
  a = b = c = 100
  x, y = 100, 200
  a[0] = 100
  dict [ "name"] = "tarena"
  del 语句
  while 语句
  for 语句
  break 语句
  continue 语句
  pass 语句
函数:
  内建函数:(系统内置函数)
    len(x)
    max(x)
    min(x)
    sum(x)
    any(x)
    all(x)
  构造函数:(用来创建同类型的数据对象)
    bool(x)
    int(x)(进制转换可以添加进制参数 be>=2 and <= 36)
    float(x)
    complex(x)
    list(x)
    tuple(x)
    str(x)
    dict(x)
    set(x)
    abs(x)
    round(x)
    pow(x,y,z = None)
    bin(x)
    oct(x)
    hex(x)
    chr(x)
    ord(x)
    range(star,stop,step)
    input(x)
    print(x)
    help(__builtins__)

之前讲的差不多也就这些了

接下来我们讲函数

ok everyone   在开始之前的我想先说两句 咳咳:

之前比如说101等于5对吧  可能手一哆嗦打成了011

有细心的小伙伴就发发现了  给我评论

你们如果有什么问题 可以随时评论  我看到后 都会回复的

能解决的我有时间都会去解决

比如说哪里不懂啊 逻辑想不通啊 或者比较迷茫的 都是可以的

前面12课说的都是常用的和偶尔用的一些基础的运算以及语法

很多东西一次测扯出来根本听不懂的 学习要循序渐进对吧

后面的东西 我们会做一个实战项目  边做边学

有些可能一辈子用不几次的东西就没说  感兴趣的朋友可以 交互模式下help 查看一下帮助

或者官方的api文档 翻译好的api文档都是可以的   第一课之前的那个文章 我在里面加了api文档地址 有兴趣的可以去下载

这个项目的就是学生信息管理系统  昨天的第二题练习 我们已经做了一个开头了对吧

好了不废话了  进入正题

函数: function
函数是可以重复执行调用的语句块
作用:
1.用于封装语句块,提高代码的重用性
2.定义用户级别的函数
def 创建函数语句:
def 函数名(形参列表):
语句块
说明:
1. 函数的名字就是语句块的名称
2. 函数名的命名规则与变量名相同(函数名必须是标识符)
3. 函数名是一个变量(不要轻易对其赋值)
4. 函数有自己的空间,在函数外部不可以访问函数内部的变量,但是可以访问外部变量
5. 函数如果不需要传入参数,形参列表可以为空
6. 语句部分不能为空,如果为空需要填充pass
return 创建返回值语句:
用于函数中,结束当前函数的执行,返回调用该函数的地方,同时返回一个对象的引用关系
return[表达式]
([ ] 代表可以省略)
说明:
1. 函数调用是一个表达式
2. 如果函数内部没有return语句,函数调用完毕后返回None对象
3. 如果函数需要返回其它的对象需要用到 return 语句
函数的调用:
函数名(实际调用传递参数)
(实际调用传递参数,简称实参)
说明:
1.函数调用时一个表达式
2.如果函数内部没有return语句,函数调用完毕后返货None对象
3.如果函数需要返回其他的对象需要用到return语句

原文地址:https://www.cnblogs.com/ParisGabriel/p/9297158.html

时间: 2024-09-30 05:58:10

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十三课的相关文章

Python全栈开发【基础三】

Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 1 def 函数名(参数): 2 3 ... 4 函数体 5 ... 6 返回值 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函数的名称,日后根据函数名调用函数 函数体:函数中进行一系列的逻辑计算 参数:为函数体提供数据 返回值:当函数执行完毕后,可以给调用者返回数据. 总结使用函数的好处: 1.减少代码重用 2.保持一致性,易维护

Python全栈开发【基础二】

Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 编码与进制转换 Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 1 class int(object): 2 """ 3 int(x=0) -> integer 4 int(x, base=10) -&g

Python全栈开发【基础四】

Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 匿名函数 lambda表达式:对于简单的函数,存在一种简便的表示方式,即lambda表达式 1 #这段代码 2 def calc(n): 3 return n**n 4 print(calc(10)) 5 6 #换成匿名函数 7 calc = lambda n:n**n 8 print(calc(10)) 匿名函数主要是和其它函数搭配使用 举例: 1 ########

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十课(包、模块 的导入)

$ pip3 install tensorflow : 第三方模块 tensorflow 的安装 电脑必须有网 命令行自动下载安装dir(模块名): 查看模块所有属性 自定义模块导入 示例: 自定义模块的实现方法 def myfac(n): print('正在计算', n, '的阶乘') def mysum(n): print("正在计算1+2+3+...+%d的和" % n) name1 = "Audi" name2 = "TESLA" pri

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十三课(每周总结:2)

ParisGabriel 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以 week summer: Python人工智能从入门到精通 函数式编程: 是指用一系列函数解决问题 每一个函数完成细小的功能,一系列函数的任意组合可以完成 大问题 函数仅接受输入并产生输入,不包含任何影响输出的内部 状态函数的可重用性: 如果一个函数的输入参数一定,则返回结果必须一定的函数 称为可重用函数 可重入和不可重入就是访问除局部变量以外的变量函数式编程要求: def 创建函数最好不要访问局部作用域

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十七课(类变量、方法、继承、覆盖)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰  开局一张图 Python人工智能从入门到精通 补充: 实例方法都是操作实例对象的 属于此类对象的方法 实例变量 添加/修改属性: 对象.属性名 = 表达式 删除: del 对象.属性名 类 |          对象 | 实例 class  object     instance 类的本质上也是对象 类可以创建此类对象 ---------------------------------------------

ParisGabriel:Python全栈工程师(0基础到精通)教程 第十五课(函数嵌套、变量作用域)

ParisGabriel 感谢 大家的支持 每天坚持 一天一篇 点个订阅吧  灰常感谢    当个死粉也阔以 Python人工智能从入门到精通 globals()/locals()函数: globals()返回当前全局作用域内变量的字典 locals() 返回当前局部作用域内变量的字典函数变量: 函数名是变量,它在def 语句创建时绑定函数 fa1 = fa 没有括号 绑定函数 fa1 = fa() 返回结果 函数的变量名可以序列交换算法一个函数可以作为另一个函数的实参传递: 例如: def m

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十一课(包、模块 的导入)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 补充:包的相对导入 只对后两种导入方式有用 包的相对导入 只对后两种导入方式有用 异常(基础)except: 什么是错误: 是指由于逻辑或语法等导程序无法正常执行的问题 什么是异常: 是程序出错的标识符的一种状态 当异常发时 程序不会再向下执行,而转去调用此函数的地方 待处理此错误并恢复为正常状态 异常的作用: 用作信号, 通知上层调用者有错误产生需要处理try 语句: 两种语

ParisGabriel:Python全栈工程师(0基础到精通)教程 第二十二课(迭代器、字节串)

ParisGabriel 每天坚持手写  一天一篇  决定坚持几年 为了梦想为了信仰 Python人工智能从入门到精通 迭代器 Iterator: 用<>括号表示的一定是对象 什么是迭代器? 迭代器是访问可迭代对象的工具 迭代器是指用iter(obj) 函数返回的对象(实例) 迭代器可以用next(it) 函数获取可迭代对象的数据 迭代器函数iter和next iter(iterable) 从可迭代对象中返回一个迭代器,iterable 必须是能提供一个迭代器的对象 next(iterator