精华内容
下载资源
问答
  • 互换性知识点
    千次阅读
    2020-12-24 08:54:37

    定积分知识点总结

    定积分知识点总结

    北京航空航天大学

    李权州

    定积分定义与基本性质

    1.定积分定义 设有一函数f(x)给定在某一区间[a,b]上. 我们在a与b之间插入一些分点. 而将该区间任意分为若干段. 以表示差数中最大者.

    在每个分区间中各取一个任意的点.

    而做成总和

    然后建立这个总和的极限概念:

    另用语言进行定义:

    ,,在时,恒有

    则称该总和在时有极限.

    总和在时的极限即f(x)在区间a到b上的定积分,符号表示为

    2.性质 设f(x),g(x)在[a,b]上可积,则有下列性质

    (1) 积分的保序性

    如果任意,则

    特别地,如果任意则

    (2) 积分的线性性质

    特别地,有.

    设f(x)在[a,b]上可积,且连续,

    (1)设c为[a,b]区间中的一个常数,则满足

    实际上,将a,b,c三点互换位置,等式仍然成立.

    (4)存在,使得

    达布定理

    1.达布和

    分别以和表示函数f(x)在区间里的下确界及上确界并且做总和

    称为f(x)相应于分割π的达布上和,称为f(x)相应于分割π的达布下和

    特别地,当f(x)连续时,这些和就直接是相应于任意分割法的积分和的最小者和最大者,因为在这种情形下f(x)在没一个区间上都可以达到其上下确界.

    回到一般情况,有上下界定义知道

    将这些不等式逐项各乘以(是正数)并依i求其总和,可以得到

    推论1 设f(x)在[a,b]上有界. 设有两个分割,,是在的基础上的加密分割,多加了k个新分店,则

    这里分别为f在[a,b]上的上、下确界.

    推论2 设f(x)在[a,b]上有界. 对于任意两个分割,有

    达布定理

    定义 设f(x)在[a,b]上有界,定义

    称为f(x)在[a,b]上的上积分,为f(x)在[a,b]上的下积分.

    定理 对于f(x)在[a,b]上的有界函数,则有

    3.函数可积分条件 设f(x)在[a,b]上有界,下列命题等价:

    (1)f(x)在[a,b]可积;

    (2)

    (3)对于[a,b]上的任何一个分割,;

    (4)任给,存在,对于[a,b]上的任何分割,当,有

    成立;

    任给,在[a,b]存在一个分割,当时有

    成立.

    这里为f(x)在区间上的振幅.

    微积分基本定理

    定理(Newton-Leibniz公式) 设f(x)在[a,b]上可积,且在[a,b]上有原函数F(x),则

    注:1.f(x)是f’(x) 的原函数,故当时,该公式可写为

    2.上述定理并不是说可积函数一定有圆环数,而是说如果存在原函数,那么可用来计算定积分的值.

    Newton-Leibniz公式把原先在复杂的定积分中的定义的积分值计算化为求原函数的问题,为普及微积分打开了大门.

    定积分的计算

    除了利用Newton-Leibniz公式计算微积分外,还可以使用换元公式和分部积分计算微积分.

    1 定积分中变量替换公式 设要计算积分,这里f(x)是在区间[a,b]内连续的. 令,函数具备下列条件:

    1)函数在某一区间内有定义且连续,而其值当t在内变化时恒不越出区间[a,b]的范围;

    2)

    3)在区间有一连续函数.

    于是成立公式

    由于被积函数假设是连续的,不但这些定积分存在,同时其相应不定积分也存在,并且在两情形都可以用基本公式.

    2 定积分的分部积分法 在不定积分部分曾经讨论过公式

    这里假设以x为自变量的函数u,v以及其导函数u’,v’都是在考虑区间[a,b]里连续的. 则我们有

    定积分中值定理

    微分中值公式

    说明,函数值的差可以通过其导数值来表达和估算. 如果从微分运算的逆运算来认识积分运算,那么就有相应的积分的中值公式:记F’(x)=f(x),即把F(x)看作是可积函数f(x)的原函数,则上述公式化为

    这一类公式称之为积分中值公式,它显示出一个函数的定积分可以通过其自身进行表达和估算.

    上述公式的几何意义可以从面积的意义来考察:设f(x)是[a,b]上的正值连续函数,则公式左边的面积与右边表达式所代表的举矩形面积相等,而矩形的高正是f(x) 在[a,b]上的积分平均值:

    1 定积分第一中值公式 设,且函数值不变号(即对一切).

    若,且记,,则存在:,使得

    (2) 若,则存在,使得

    2 定积分第二中值公式

    引理(Abel) 设有两组数记,则

    推论 若有,且,则有

    定理(Bonnet型) 设.

    若f(x)是[a,b]上非负递减函数,则存在,使得

    (2)若f(x)是[a,b]上非负递增函数,则存在,使得

    3 定积分第三中值公式

    定理(Weierstrassz型) 设f(x)在[a,b]上是单调函数,,

    更多相关内容
  • 互换性与测量技术基础知识点总结

    千次阅读 多人点赞 2019-12-04 12:48:06
    互换性与测量技术基础知识点总结绪论光滑圆柱体结合的公差与配合(第一章) 绪论 互换性的含义 公差的含义 内、外互换 优先数系 R5, R10, R20, R40 派生系列,如 R10/3 光滑圆柱体结合的公差与配合(第一章)...

    绪论

    • 互换性的含义
    • 公差的含义
    • 内、外互换
    • 优先数系 R5, R10, R20, R40
    • 派生系列,如 R10/3

    光滑圆柱体结合的公差与配合(第二章)

    • 几何要素
      组成要素,导出要素,公称组成要素,公称导出要素,提取组成要素,提取导出要素,拟合组成要素,拟合导出要素。
    • 孔和轴
    孔槽和键槽宽表面键宽表面
    • 尺寸
    项目
    公称尺寸Dd
    极限尺寸 D m a x D_ {max} Dmax, D m i n D_ {min} Dmin d m a x d_ {max} dmax, d m i n d_ {min} dmin
    上极限偏差 E S ES ES e s es es
    下极限偏差 E I EI EI e i ei ei
    尺寸公差 T h T_h Th T s T_s Ts
    • 尺寸公差与极限偏差的比较
      • 极限偏差用于限制实际偏差,公差用于限制误差
      • 极限偏差取决于机床的调整;而公差表示制造精度,反应加工的难易程度
      • 极限偏差反映公差带位置,影响配合的松紧程度;公差反应公差带大小,影响配合精度
    • 配合和配合制
    间隙过渡过盈
    最大间隙 X m a x X_{max} Xmax D m a x − d m i n D_{max}-d_{min} Dmaxdmin D m a x − d m i n D_{max}-d_{min} Dmaxdmin
    最小间隙 X m i n X_{min} Xmin D m i n − d m a x D_{min}-d_{max} Dmindmax 0 0 0
    最大过盈 Y m a x Y_{max} Ymax D m i n − d m a x D_{min}-d_{max} Dmindmax d m a x − D m i n d_{max}-D_{min} dmaxDmin
    最小过盈 Y m i n Y_{min} Ymin 0 0 0 d m i n − D m a x d_{min}-D_{max} dminDmax
    配合公差 T f T_{f} Tf| X m a x X_{max} Xmax- X m i n X_{min} Xmin|| X m a x X_{max} Xmax- Y m i n Y_{min} Ymin|| Y m a x Y_{max} Ymax- Y m i n Y_{min} Ymin|
    • 配合制

      • 基孔制 H
      • 基轴制 h
      • 非标准配合制
    • 标准公差

      • 基本偏差
      • 精度等级
    • 常用公差与配合

      • 优先基孔制
      • 同一公称尺寸上装配几个不同配合性质的零件时,采用基轴制
      • 以标准件为基准件来确定配合制

      测量技术基础(第三章)

      • 量块(块规)
      • 量块的精度
        “级”(含制造误差) :00,0,1,2,3,K(校准级)
        “等” (含测量误差) :1,2,3,4,5
      • 量块的组合
        先选小量块

      几何公差及检测(第四章)

      • 公差项目
        直线度,平面度,圆度,圆柱度,线轮廓度,面轮廓度,平行度,垂直度,倾斜度,位置度,同心度,同轴度,对称度,圆跳动,全跳动。
      • 几何公差附加符号
        包容要求 E,最大实体要求 M,最小实体要求 L,可逆要求 R
      • 几何公差的标注
        框格组成:公差项目+公差值+基准(从左到右)
      • 被测要素表示法
        1.对于组成要素:指向轮廓面或其延长线(与尺寸错开),或指向其引出线的水平线
        2.对于中心导出要素:指向轮廓面(与尺寸对齐
      • 公差带
    几何公差项目公差带
    直线度任意截面两平行直线,给定方向两平行平面,任意方向圆柱面
    平面度两平行平面
    圆度同心圆环(指引箭头垂直于轴线)
    圆柱度同轴圆柱面
    线轮廓度任意截面两平行轮廓线
    面轮廓度两平行轮廓面
    平行度两平行平面,平行于线索(LE)的任一截面内的两平行直线,圆柱面
    垂直度两平行平面,圆柱面
    倾斜度两平行平面,倾斜圆柱
    位置度球面,两平行平面,圆柱面,倾斜的两平行平面
    同轴度圆柱
    对称度两平行平面
    圆跳动任意界面圆环,端面上的任意半径位置的圆柱面
    全跳动圆柱,端面上的圆柱
    • 公差原则
      • 独立原则
      • 相关要求:包容要求,最大实体要求,最小实体要求,可逆要求

      表面粗糙度(第五章)

      • 基本术语
        • 微观几何形状(<1mm),波纹度轮廓(<10mm),形状轮廓(>10mm)
        • 取样长度 l r lr lr,评定长度 l n ln ln
        • 中线
        • 表面粗糙度评定参数: R a , R z , R s m , R m r ( c ) Ra,Rz,Rsm,Rmr(c) Ra,Rz,Rsm,Rmr(c)
      • 表面粗糙度的标注
        • 16%规则
        • 最大规则
        • 传输带( λ c , λ s \lambda_c,\lambda_s λc,λs)
        • 从材料外指向材料内
        • 可以标在形状公差的上方
        • 加工纹理的标注

        光滑工件尺寸的检测(第六章)

        • 验收极限
          • 误收,误废,生产公差,保证公差,工件公差
          • 方案:1.内缩方案,2.A = 0
        • 器具的选择(独立原则时
          • 安全裕度A( u u u),计量器具的测量不确定度允许值( u 1 u_1 u1
        • 光滑极限量规(采用包容要求时
          • 塞规
          • 卡规(环规)

          滚动轴承与孔,轴的互换性

          • 轴承既有外互换,又有内互换
          • 尺寸公差精度等级:0,6,5,4,2
          • 旋转精度:跳动,游隙
          • 壳体孔与轴承外圈配合采用基轴制,轴承内圈与轴颈配合采用基孔制,但都是负偏差
          • 滚动轴承选择
            • 负荷大小:轻,正常,重
            • 负荷类型:固定,旋转,摆动

            尺寸链(第八章)

            • 术语
              • 封闭环,组成环,增环,减环,传递系数
              • 计算
                • 封闭环的尺寸 A 0 A_0 A0
                • 封闭环的公差 A 0 m a x A_{0max} A0max, A 0 m i n A_{0min} A0min

          圆锥结合的互换性(第九章)

          螺纹结合的互换性(第十章)

    名称符号
    大径 D D D, d d d
    小径 D 1 D_1 D1, d 1 d_1 d1
    中径 D 2 D_2 D2, d 2 d_2 d2
    螺距P
    导程 P h Ph Ph
    牙型半角 α / 2 \alpha/2 α/2
    螺纹升角 ψ \psi ψ
    旋和长度S, N, L
    • 对螺纹互换性有影响的几何参数
      • 中径偏差
      • 螺距偏差(影响可旋和性和连接的可靠性)
      • 牙型半角偏差
    展开全文
  • 互换性及技术测量知识点.doc
  • 互换性与技术测量知识点.doc
  • 互换性与技术测量知识点 概要.doc
  • 实用标准文案 互换性与技术测量知识点 第 1 章 绪言 互换性是指在同一规格的一批零部件中任取一件在装配时不 需经过任何选择修配或调整就能装配在整机上并能满足使用性 能要求的特性 互换性应具备的条件 装配前不换 ...
  • 互换性及技术测量知识点概要.doc
  • 互换性与技术测量知识点概要.doc
  • 互换性与技术测量知识点汇总.doc
  • 第一章绪论互丝与 本章学习目的是了解本课程的性质和任务学习要求是懂得 互换性的含义;了解互换性与标准化的关系及其在现代化生产中 的重要意义;了解优先数的基本原理及其应用 互换性原则是机械工业生产的基本技术...
  • 互换性与技术测量:第二章测量技术基础.ppt
  • Python知识点(史上最全)

    万次阅读 多人点赞 2021-07-28 22:40:37
    Python期末考试知识点(史上最全) python简介 Python是一种解释型语言 Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行 数据类型:整形 int 无限大 浮点型 float 小数 复数 complex ...

    Python期末考试知识点(史上最全)

    ✅作者简介:大家好我是编程ID
    📃个人主页:编程ID的csdn博客
    系列专栏:python
    💬推荐一款模拟面试、刷题神器👉点击跳转进入网站

    请添加图片描述
    请添加图片描述

    请添加图片描述

    请添加图片描述

    请添加图片描述

    请添加图片描述
    请添加图片描述

    请添加图片描述

    python简介

    Python是一种解释型语言
    Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行
    数据类型:整形          int              无限大 
                      浮点型      float            小数
                      复数         complex       由实数和虚数组成
    
    Python中有6个标准的数据类型:
            Number(数字)
            String(字符串)
            List(列表)
            Tuple(元组)
            Sets(集合)
            Dictionart(字典)
    其中不可变得数据:
                   Number(数字)            String(字符串)            Tuple(元组)            Sets(集合)
    可变得:
                   List(列表)         Dictionart(字典)    
    我们可以用type或者isinstance来判断类型
    

    请添加图片描述

    type()不会认为子类是一种父类类型。
    isinstance()会认为子类是一种父类类型

    python中定义变量,不需要写变量类型,但是必须初始化。会根据我们写的数据类型,自动匹配
    变量命名规则:由字母,数字,下划线组成,第一个必须字母或者下划线,对大小写敏感,不能是关键字
    
    输入与输出
        在我们需要输入中文的时候,需要包含头文件  # -*- coding: UTF-8 -*- 或者 #coding=utf-8
        输入    a=input("请输入一个数字")          返回值为str类型
        输出    print('hello world')                        当然这里也可以严格按照格式控制符去输出变量值
            例如:print("now a=%d,b=%d"%(a,b))        双引号后面没有逗号
         print默认换行,我们可以print( end=''),修改默认参数让他不换行,
                                    也可以在print()后面加逗号  print(xxx) ,   这样也可以不换行    测试发现:只适合在2.7版本
    
    1. 基础语法
      运算符:
      算术运算符: 多了一个**,代表 幂方 5**5 就是5的5次方 还多了一个 // 整数除法
      逻辑运算符: and,or,not 与,或,非
      赋值运算符: 没有++,–
      身份运算符: is is not

    成员关系运算符: in not in
    总结:多出来了** 和 // //就是整除的意思 比如 5//3结果为 1 但是5/3结果为小数 1.6666666667

    运算符优先级(下面由高到低):幂运算符最高
    幂运算符                **
    正负号                    + -
    算术运算符            *,/,//,+,-
    比较运算符            <,<=,>,>=,==,!=
    逻辑运算符            not,and,or    (not>and>or)
    

    选择结构
    if-else
    if-elif-else(这里可以不写else)

         逻辑结果
            python里面只要是"空”的东西都是false    ""(中间有空格就为真,这里什么都不写,为假)    空元组,空列表,空字典    0 都为false
    

    字符串
    请添加图片描述

    Pis:在字符串前面添加一个 r,表示原始字符串,不会发生转义
    列表
    list是处理一组有序项目的数据结构,用方括号定义
    列表的操作:
    一,通过下标去访问列表中的值 (可以用切片的方式去访问)

         输出结果:这里就用了切片的方式去访问1到5
          
    重点:这里切片的使用方法要注意,我们写的1:5实际访问的是下标为1,2,3,4.没有5!
    

    请添加图片描述

    二,更新列表(列表是可以修改的)
    通过下标去直接修改他的值

    三,删除列表元素(del + 列表项) 删除项remove()后面说
    请添加图片描述

    四,列表的脚本操作符

    请添加图片描述

    五,对于列表截取,拼接
    请添加图片描述

    六,list自带函数 (其中有元组转列表)

    方法 功能
    max(list) 返回列表元素最大值
    min(list) 返回列表元素最小值
    list(seq) 元组转列表
    list.append(obj) 在列表末尾添加新对象
    list.count(obj) 统计某个元素在列表出现的次数
    list.extend(seq) 在末尾添加新列表,扩展列表
    list.index(obj) 在列表中找出某个值第一个匹配性的索引位置
    list.insert(index,obj) 将对象插入列表,其中的index,为插入的位置,原来该位置后面的元素包含该位置元素,都统一后移
    list.pop(obj=list[-1])
    有默认参数,即最后一项 删除指定位置元素并返回,他和del的区别在于del是一个关键字。而pop是内建函数,我们无法用变量去接收del删除的项 (参数可以不写,默认删除最后一项)
    list.remove(obj) 移出列表中某个值第一次匹配的项
    list.reverse() 反向列表中的元素(收尾互换),不代表倒序排列!
    list.sort() 对列表进行排序
    list.copy() 复制列表
    list.clear() 清空列表

    Set集合
    集合是一个无序不重复元素的序列
    基本功能就是进行成员关系测试,和删除重复元素 (所谓成员关系测试就是查看他们是否重复,两个集合的交集…)
    可以使用 { } 或者set()函数来创建集合 但是创建一个空集合必须适用set()
    请添加图片描述

    编程语言的进化:机器语言、汇编语言、高级语言

    机器语言:由于计算机内部只能接受二进制代码,因此,用二进制代码0或1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言。

    汇编语言:实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用英文缩写的标识符,更容易识别和记忆。

    高级语言:高级语言对开发人员更加友好,开发效率大大提高

    高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。

    高级语言按转换方式可分为:编译型、解释型

    编译型:指在应用源程序执行之前,将程序源代码转换成目标代码,因此其目标代码可以脱离其语言环境独立执行。

    编译后程序运行时不需要重新翻译,直接使用翻译的结果就行。程序执行效率高,依懒性编译器,跨平台性差。如C、C++、GO、Delphi等

    解释型:应用程序源代码一边由相应语言的解释器翻译成目标代码,一边执行,因此效率比较低,不能生成可独立执行的可执行文件,应用程序不能脱离其解释器。如Python、Java、PHP、Ruby等。跨平台性好、开发效率不高。

    编译型语言执行速度快,不依赖语言环境运行,跨平台差

    解释型跨平台好,一份代码,到处运行。缺点是执行速度慢,依赖解释器运行。

    Python创始人:Guido van Rossum(龟叔)

    Python诞生在1989年

    2008年12月出现Python3.0

    2010年出现一个过渡版本Python2.7(最多只支持到2020年,之后不支持2.0版本)

    Python解释器是用C语言写的

    Python解释器种类有:CPython、IPython、PyPy、Jython、IronPython

    测试安装是否成功:

    windows–>运行–>输入cmd,回车,弹出cmd程序,输入Python,如果进入交互环境,代表安装成功。

    print(‘hello world!’)

    保存为helloworld.py,注意.py后缀名的作用:命名约束规范,方便程序员识别代码。

    进入cmd命令行,执行Python helloworld.py,看结果。

    注意文件名前面加python的原因是要把代码交给python解释器去解释执行

    内存和磁盘的关系:内存存取速度快,断电就丢失;磁盘存取速度慢,永久保存。

    Python交互器是主要用来对代码进行调试用的

    变量:先定义后使用

    变量作用:存数据,占内存,存储程序运行的中间结果,可以被后面的代码调用。

    声明变量:变量名=变量的值

    变量的命名规则:

    1.变量名只能是数字、字母或下划线的任意组合

    2.变量名的第一个字符不能是数字

    3.以下关键字不能声明为变量名[‘and’,‘as’,‘assert’,‘break’,‘class’,‘continue’,‘def’,‘elif’,‘else’,‘except’,‘exec’,‘finally’,‘for’,‘from’,‘global’,‘if’,‘import’,‘in’,‘is’,‘lambda’,‘not’,‘or’,‘pass’,‘print’,‘raise’,‘return’,‘try’,‘while’,‘with’,‘yield’]

    常量:程序在执行过程中不能改变的量

    在Python中没有一个专门的语法代表常量,程序员约定俗成的变量名全部大写代表常量。

    读取用户输入

    name = input(“what’s your name:”)print(“hello”+name)

    输入用户姓名和密码

    username= input(“username:”)

    password= input(“password:”)print(username,password)

    注释:解释说明,帮助阅读代码。

    单行注释:#

    多行注释:‘’‘…’‘’

    数据类型

    数据类型-数字类型

    int(整型):32位机器上:-231 —— 231-1 64位同样的道理

    long(长整型):Python的长整型没有指定位宽。(Python3里不再有long类型)

    float(浮点型):

    数据类型-字符串类型

    字符串:在Python中,加了引号的字符都被认为是字符串!

    注意:单双引号是没有任何区别的;多行字符串必须用多引号。

    布尔类型:

    只有两个值True、False ,主要用来做逻辑判断

    格式化输出:(%s 以一个字符替换 %d以一个整数替换 %f以一个浮点数替换)都是一个占位符 %是一个连接符

    运算符

    算术运算符(+,-,*,/,%,**,//),

    比较运算符(==,!=,<>,>,<,>=,<=),

    逻辑运算符(and,or,not),

    赋值运算符(=,+=,*=,/=,%=,**=,//=),

    成员运算符(in,not in),

    身份运算符(is , is not),

    位运算(>>,<<)

    流程控制

    单分支:

    if 条件:

    满足条件后要执行的代码块

    多分支:

    if 条件:

    满足条件后要执行的代码块

    elif 条件:

    上面的条件不满足就走这个

    elif 条件:

    上面的条件不满足就走这个

    elif 条件:

    上面的条件不满足就走这个

    else:

    上面的条件不满足就走这个

    while循环

    while 条件:

    执行代码…

    Dead Loop

    count=0

    while True:

    print(“你个基佬!!!”,count)

    count+=1

    循环终止语句:break语句或continue语句

    break语句:用于完全结束一个循环,跳出循环体执行后面的语句

    continue语句:只终止本次循环,接着执行后面的循环

    while…else用法

    当while循环正常执行完,中间没有被break终止的话,就会执行else后面的语句。

    二进制运算、字符编码、数据类型

    二进制(0,1)、八进制(0-7)、十进制(0-9)、十六(0-9,A-F)进制的转换

    四位二进制表示一位十六进制

    oct() 八进制 hex()十六进制

    char(num)将ASCII值得数字转换成ASCII字符,范围只能是0-255

    ord(char)接受一个ASCII值字符,返回相应的ASCII值

    每一位0或1所占的空间单位为bit(比特),这是计算机中最小的表示单位

    8bits = 1Bytes字节,最小的存储单位,1bytes缩写为1B

    1024Bytes = 1KB = 1KB

    1024KB = 1MB

    1024MB =1GB

    1024GB = 1TB

    1024TB = 1PB

    ASCII 256,每一个字符占8位

    Unicode编码(统一码、万国码):规定了所有的字符和符号最少由16位表示

    UTF-8:ascii码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存…

    winsows系统中文版默认编码是GBK

    Mac OS\Linux系统默认编码是UTF-8

    UTF是为unicode编码 设计的一种在存储和传输时节省空间的编码方案。

    无论以什么编码在内存里显示字符,存到硬盘上都是二进制。不同编码的二进制是不一样的

    存到硬盘上以何种编码存的,那么读的时候还得以同样的编码读,否则就乱码了。

    python2.x默认编码是ASCII;默认不支持中文,支持中文需要加:#* coding:utf-8 * 或者 #!encoding:utf-8

    Python3.x默认编码是UTF-8,默认支持中文

    Python数据类型

    字符串 str

    数字:整型(int)长整型(long) 浮点型(float) 布尔(bool) 复数(complex)

    列表 list

    元组 tuple

    字典 dictionary

    集合:可变集合(set) 不可变集合(frozenset)

    不可变类型:数字,字符串,元组

    可变类型:列表,字典,集合

    899590-20180512120213031-26929447.png

    字符串

    特点:有序、不可变

    字符串的常用方法:isdigit,replace,find,count,index,strip,split,format,join,center

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 s = “abcd”

    2 print(s.swapcase()) #都变成大写字母

    3

    4 print(s.capitalize()) #都变成首字母大写

    5

    6 print(s.center(50,"")) #打印变量s的字符串 指定长度为50,字符串长度不够的用号补齐

    7

    8 print(s.count(“a”,0,5)) #统计字符串a在变量里有几个;0,5代表统计范围是下标从0-5的范围

    9

    10 print(s.endswith(“!”)) #是否是以什么结尾的。

    11

    12 print(s.startswith(“a”)) #判断以什么开始

    13

    14

    15 s = “a b”

    16 print(s.expandtabs(20)) #相当于在a和b中间的tab长度变成了20个字符,交互模式可看出效果

    17

    18 s.find(“a”,0,5) #查找字符串,并返回索引

    19

    20 s.format() #字符串格式化

    21 s1 = “my name is {0},i am {1} years old”

    22 print(s1)23 print(s1.format(“aaa”,22)) #分别把{0}替换成aaa {1}替换成22

    24 #也可以写成如下

    25 s1 = “my name is {name},i am {age} years old”

    26 s1.format(name=“aaa”,age = 22) #字典形式赋值

    27

    28 #s.format_map() #后续补充

    29

    30

    31 print(s.index(“a”)) #返回索引值

    32

    33 print(s.isalnum()) #查看是否是一个阿拉伯字符 包含数字和字母

    34

    35 print(s.isalpha()) #查看是否是一个阿拉伯数字 不包含字母

    36

    37 print(s.isdecimal()) #判断是否是一个整数

    38

    39 print(s.isdigit()) #判断是否是一个整数

    40

    41 print(s.isidentifier()) #判断字符串是否是一个可用的合法的变量名

    42

    43 print(s.islower()) #判断是否是小写字母

    44

    45 print(s.isnumeric()) #判断只有数字在里边

    46

    47 print(s.isprintable()) #判断是否可以被打印,linux的驱动不能被打印

    48

    49 print(s.isspace()) #判断是否是一个空格

    50

    51 print(s.istitle()) #判断是否是一个标题 每个字符串的首字母大写 Hello Worlld

    52

    53 print(s.isupper()) #判断是否都是大写

    54

    55 #s.join()

    56 name = [“a”,“b”,“1”,“2”]57 name2 = “”.join(name) #列表转成字符串,把列表里边的元素都join到字符串中

    58 print(name2) #得出ab12

    59

    60 #s.ljust

    61 s = “Hello World”

    62 print(s.ljust(50,“-”)) #给字符串从左往右设置长度为50,字符串长度不够用 - 补充

    63

    64 print(s.lower()) #字符串都变成小写

    65

    66 print(s.upper()) #变大写

    67

    68 print(s.strip()) #脱掉括号里边的,可以是空格 换行 tab …

    69

    70 s.lstrip() #只脱掉左边的空格

    71 s.rstrip() #只拖点右边的空格

    72

    73 #s.maketrans() #

    74 str_in = “abcdef” #必须是一一对应

    75 str_out = “!@#$%^” #必须是一一对应

    76 tt = str.maketrans(str_in,str_out) #生成对应表,就像密码表一样

    77 print(tt)78 #结果:{97: 33, 98: 64, 99: 35, 100: 36, 101: 37, 102: 94}

    79

    80 print(s.translate(tt)) #s.translate方法调用 加密方法tt 给 s的字符串加密

    81 #结果:H%llo Worl$

    82

    83 #s.partition()

    84 s = “Hello World”

    85 print(s.partition(“o”)) #把字符串用 从左到右第一个o把 字符串分成两半

    86 #结果:(‘Hell’, ‘o’, ’ World’)

    87

    88 s.replace(“原字符”,“新字符”,2) #字符串替换,也可以写换几次 默认全换,可以设置count次数

    89

    90 s.rfind(“o”) #查找最右边的字符,也有开始和结束

    91

    92 print(s.rindex(“o”) ) #查找最右边的字符的索引值

    93

    94 s.rpartition(“o”) #从最右边的字符开始 把字符串分成两半

    95

    96 s.split() #已括号里边的把字符串分成列表,括号里可以是空格、等字符来分成列表

    97

    98 s.rsplit() #从最右边以 某字符 来分开字符串

    99

    100 s.splitlines() #设置以换行的形式 把字符串分成列表

    101

    102 print(s.swapcase()) #字母换成相反的大小写,大的变成小,小的变成大

    103 #结果“:hELLO wORLD

    104 #原来的“hello World”

    105

    106 s.title() #把字符串变成title格式 Hello World

    107

    108 s.zfill(40) #把字符串变成40,字符串不够,从左往右用0 补齐

    109

    110

    111 #“a\tb” 字符串中间的\t 被认为是tab 是4个或者8个空格

    112 #整体意思是:a 有一个tab 然后 又有一个b

    View Code

    列表

    列表的常用方法:创建、查询、切片、增加、修改、删除、循环、排序、反转、拼接、clear、copy

    列表的特点:可以重复;列表是有序的

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 1、创建2 ​ 方法一:list1 = [“a”, “b”]   #常用

    3 ​ 方法二:list2 = list ()     #一般不用这种方法

    4

    5 2、查询6 ​ 列表的索引 (也称下标):7 列表从左到右下标是从0开始0、1、2、3…8 ​列表从右到左下标是从 - 1开始 -1 -2 -3…9

    10 ​查询索引值:11 ​list1.index (a)    #index查询找到第一个a程序就不走了,

    12 list1[0]    #通过a的索引 得出a

    13 list1[-1]   #通过b的下标 得出b

    14

    15 当list1 = [1, 2, 3, 4, 4, 4, 4, 4, 4]16 列表里出现元素相同时,统计相同次数17 list1.count (4)    #统计得出:6 代表列表有6个4

    18

    19 3、切片20 切片:通过索引 (或下标)21 截取列表中一段数据出来。22 list1 = [1, 2, 3, 4, 4, 4, 4, 4, 4]23 list1[0:2]    #得出 [1,2] ,列表切片顾头不顾尾,也可成list1[:2]

    24 list1[-5:]    #得出[4,4,4,4,4],取最后5个元素,只能从左往右取

    25 按步长取元素:26 list1 = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]27 list1[:6:2]    #得出:[1, 3, 5]   :2 代表步长 ,每隔两步取一个元素

    28 list1[::2]    #得出:[1, 3, 5, 1, 3, 5]  在列表所有元素中,每隔2步取一个数

    29

    30 4、增加31 list1 = [“a”, “b”, “c”]32 list1.append (“d”)    #追加d到列表list1的最后 结果:[‘a’, ‘b’, ‘c’, ‘d’]

    33 list1.insert (1, “aa”)    #插入aa到列表下标为1的之前   得出结果:[‘a’, ‘aa’, ‘b’, ‘c’, ‘d’]

    34

    35 5、修改36 list1[1] = “bb”    #直接给对应位置赋值,即是修改 结果:[‘a’, ‘bb’, ‘b’, ‘c’, ‘d’]

    37 批量修改38 把[‘a’, ‘bb’, ‘b’, ‘c’, ‘d’]里的前两个元素替换掉39 list1[0:2] = “boy”    #结果:[‘b’, ‘o’, ‘y’, ‘b’, ‘c’, ‘d’]

    40

    41 6、删除42 list1 = [‘b’, ‘o’, ‘y’, ‘b’, ‘c’, ‘d’]43 list1.pop ()    #默认删除最后一个元素 d

    44 list1.remove (“o”)    #删除元素O remove只能一个一个删除

    45 list1.remove (0)    #删除下标为0的元素 b

    46 del list1[0]    #删除下标为0的元素 del是一个全局删的方法

    47 del list1[0:2]    #del可以批量删除

    48

    49 7、for循环列表50 list1 = [1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]51 for i in list1: #使用for循环循环列表list1里边的元素

    52 range (10)    #生成0到10 的数字

    53

    54 8、排序55 list1 = [“1”, “5”, “3”, “a”, “b”, “f”, “c”, “d”, “A”, “C”, “B”]56 list1.sort () #结果:[‘1’, ‘3’, ‘5’, ‘A’, ‘B’, ‘C’, ‘a’, ‘b’, ‘c’, ‘d’, ‘f’]

    57

    58 排序是按照ASCII码对应排序。59 反转60 list1.reverse () #结果:[‘f’, ‘d’, ‘c’, ‘b’, ‘a’, ‘C’, ‘B’, ‘A’, ‘5’, ‘3’, ‘1’]

    61

    62 9、两个列表拼一块63 #方法一

    64 list1 = [1, 2, 3, 4, 5]65 list2 = [6, 7, 8, 9]66 list1 + list2 #结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

    67 #​方法二

    68 list1.extend (list2)    #把列表2扩展到list1中

    69 结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]70

    71 10、clear72 #清空列表

    73 list2.clear ()    #清空list2

    74

    75 11、copy76 浅copy77 复制列表78 list2 =list1.copy ()79 当列表只有一层数据,没有列表嵌套列表的情况下,复制后的列表和原来的列表是完全独立的。80 当列表有多层嵌套的时候,列表嵌套里边的列表的内容是和原有列表是共享的。81 list1.copy () #所以这个叫做:浅copy

    82

    83 ​深copy:需要借助python模块84 importcopy85 list2 =copy.deepcopy (list1)86 深copy后,新的列表和旧的列表,不管有没有列表嵌套列表,都是完全独立的个体。87 可以通过查看列表名对应的内存地址分辨两个列表是否独立88 查看python解释器里边的内存地址:id (变量名)

    View Code

    元组

    特点:有序的,不可变的列表

    常用功能:index,count,切片

    使用场景:显示的告知别人,此处数据不可修改;数据库连接配置信息等

    hash函数

    hash,一般翻译为“散列”,也有直接翻译为“哈希”的,就是把任意长度的输入,通过散列算法,变成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不通的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值,简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

    特征:hash值的计算过程是依据这个值的一些特征计算的,这就要求被hash的值必须固定,因此被hash的值必须是不可变的。(不能保证输出的数据唯一的,容易造成冲突)

    用途:文件签名;md5加密;密码验证

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 >>> hash(“abc”)2 -6784760005049606976

    3 >>> hash((1,2,3))4 2528502973977326415

    View Code

    字典

    语法:info={}

    特点:1.key-value结构,key必须是可hash、必须是不可变数据类型、必须唯一

    2.每一个key必须对应一个value值,value可以存放任意多个值,可修改,可以不唯一

    3.字典是无序的

    字典的查找速度快是因为字典可以把每个key通过hash变成一个数字(数字是按照ASCII码表进行排序的)

    字典的方法:增删改查 多级嵌套 等

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 #字典方法

    2 info ={3 “student01”:“aaa”,4 “student02”:“bbb”,5 “student03”:“ccc”

    6 }7

    8 #增加

    9 info[“student04”] = “ddd”

    10 info[“student05”] = “eee”

    11 info[“student06”] = “fff”

    12

    13 #查询

    14 #判断student01在不在info字典里

    15 print(“student01” in info ) #返回True

    16 print(info.get(“student01”)) #返回aaa,没有返回None

    17 info[“student01”] #获取对应的value ,如果没有这个key 就报错,所以一般用get

    18

    19 #删除

    20 print(info.pop(“student01”)) #删除key

    21 print(info.popitem()) #随机删除一个key

    22 del info[“student02”] #删除的key ,如果没有删除的key 就报错 KeyError: ‘student01’

    23

    24 info.clear() #清空字典

    25

    26 #多级字典嵌套

    27 dic1 = {“aaa”: {“aa”: 11}, “bbb”: {“bb”: 22}}28

    29 #其他方法

    30 info ={31 “name1”: [22, “it”],32 “name2”: [24, “hr”],33 “name3”: 33

    34 }35

    36 info2 ={37 “name1”: 44,38 “name4”: 33,39 1: 2

    40 }41 info.keys() #打印所有的key

    42 info.values() #打印所有的value

    43 info.items() #把字典转成一个列表

    44 info.update(info2) #把两个字典合成一个,如果有重复的key ,info2里边的重复key会覆盖info里边的key

    45 info.setdefault(“student07”,“abcdef”) #设置一个默认的key:value ,

    46 #如果info字典里没有key student07 ,那么info字典里有添加 student07:abcdef

    47 #如果info字典里已经手动添加了student07的key value,那么这里的student07:abcdef 就不起作用

    48 print(info.fromkeys([“name1”,“name2”],“aaa”) ) #从一个可迭代的对象中批量生成key和相同的value

    49

    50 #字典的循环:高效循环

    51 for k ininfo:52 print(k,info[k]) #打印key value

    53

    54 #另外一种方法 低效

    55 for k,v in info.items(): #先把字典转成列表,在循环,所以低效

    56 print(k,v)

    View Code

    集合

    集合是一个无序的、不重复的数据组合

    作用:1.去重

    2.关系测试,测试两组数据之间的交集、差集、并集等关系

    语法:

    s = {} #如果为空,就是字典

    s = {1,2,3,4} #就成了集合 set

    s = {1,2,3,4,1,2} #有重复数据,显示结果就直接去重{1, 2, 3, 4}

    列表转成给一个字典

    l = [1,2,3,4,1,2]

    l2 = set(l)

    集合的方法

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 #集合方法

    2 s = {1,2,3,4,5} #定义一个集合

    3

    4 #增加

    5 s.add(6)6 print(s) #{1, 2, 3, 4, 5, 6}

    7

    8 #删除

    9 #随机删除

    10 s.pop()11 print(s) #{2, 3, 4, 5, 6}

    12 #指定删除,如果不存在,就报错

    13 s.remove(6)14 print(s) #{2, 3, 4, 5}

    15 #指定删除,如果不存在,不报错

    16 s.discard(6)17 print(s)18

    19 #联合其他集合,可以添加多个值

    20 s.update([7,8,9])21 print(s) #{2, 3, 4, 5, 7, 8, 9}

    22

    23 #清空集合

    24 s.clear()25

    26

    27 #集合的关系测试

    28 iphone7 = {“alex”,“rain”,“jack”,“old_driver”}29 iphone8 = {“alex”,“shanshan”,“jack”,“old_boy”}30

    31 #交集

    32 print(iphone7.intersection(iphone8))33 print(iphone7 &iphone8)34 #输出:

    35 {‘jack’, ‘alex’}36 {‘jack’, ‘alex’}37

    38 #差集

    39 print(iphone7.difference(iphone8))40 print(iphone7 -iphone8)41 #输出:

    42 {‘rain’, ‘old_driver’}43 {‘rain’, ‘old_driver’}44

    45 #并集 把两个列表加起来

    46 print(iphone7.union(iphone8))47 print(iphone7 |iphone8)48 #输出:

    49 {‘rain’, ‘jack’, ‘old_driver’, ‘alex’, ‘shanshan’, ‘old_boy’}50 {‘rain’, ‘jack’, ‘old_driver’, ‘alex’, ‘shanshan’, ‘old_boy’}51

    52 #对称差集 把不交集的取出来

    53 print(iphone7.symmetric_difference(iphone8))54 #输出:

    55 {‘rain’, ‘old_driver’, ‘shanshan’, ‘old_boy’}56

    57 s = {1,2,3,4}58 s2 = {1,2,3,4,5,6,}59 #超集 谁是谁的父集

    60 print(s2.issuperset(s)) #s2是s的父集

    61 print(s2 >=s)62 #输出:

    63 True64 True65

    66 #子集

    67 print(s.issubset(s2)) #s是s2的子集

    68 print(s <=s2)69 #输出:

    70 True71 True72

    73 #判断两个集合是否不相交

    74 print(s.isdisjoint(s2))75 #输出:

    76 False #代表两个集合是相交的

    77

    78 s = {1,2,3,-1,-2}79 s2 = {1,2,3,4,5,6}80 s.difference_update(s2) #求出s和s2 的差集,并把差集 覆盖给 s

    81 print(s) #结果:{-2, -1}

    82

    83 s.intersection_update(s2) #求出s和s2的交集,并把交集 覆盖给 s

    84 print(s)85 print(s2)86 #结果:

    87 {1, 2, 3}88 {1, 2, 3, 4, 5, 6}

    View Code

    字符编码

    python3

    文件编码默认 :utf-8

    字符串编码:unicode

    python2

    文件编码默认:ascii

    字符串编码默认:ascii

    如果文件头声明了utf-8,那字符串的编码是utf-8

    unicode是一个单独的类型

    python3的内存里:全部是unicode

    python3执行代码的过程:

    1、解释器找到代码文件,把代码字符串按文件头定义的编码加载到内存,转成unicode

    2、把代码字符串按照python语法规则进行解释

    3、所有的变量字符都会以unicode编码声明

    在python2里边,默认编码是ASCII编码,那么文件头声明是utf-8的代码,在windows中将显示乱码

    如何在windows上显示正常呢?(windows的默认编码是gbk)

    1、字符串以gbk格式显示

    2、字符串以unicode编码

    修改方法:

    1.UTF-8 – >decode解码 --> Unicode

    2.Unicode – > encode编码 – > GBK / UTF-8

    ContractedBlock.gif

    ExpandedBlockStart.gif

    1 s=“路飞学城”

    2 print(“decode before:”,s)3 s2=s.decode(“utf-8”)4 print(“decode after:”,s2)5 print(type(s2))6 s3=s2.encoded(“gbk”)7 print(s3)8 print(type(s3))

    View Code

    python中bytes类型

    二进制的组合转换成16进制来表示就称之为bytes类型,即字节类型,它把8个二进制组成一个bytes,用16进制来表示。

    在python2里,bytes类型和字符串是本质上时没有区分的。

    str = bytes

    python2 以utf-8编码的字符串,在windows上不能显示,乱码。

    如何在python2下实现一种,写一个软件,在全球各国电脑上 可以直接看?

    以unicode编码写软件。

    s = you_str.decode(“utf-8”)

    s2= u"路飞"

    unicode类型 也算字符串

    文件头:

    python2:以utf-8 or gbk 编码的代码,代码内容加载到内存,并不会被转成unicode,编码依然是utf-8 或 gbk。

    python3:以utf-8 or gbk编码的代码,代码内容加到在内存,会被自动转成unicode。

    在python3里,bytes类型主要来存储图片、视频等二进制格式的数据

    str = unicode

    默认就支持了全球的语言编码

    常见编码错误的原因有:

    1、python解释器的默认编码

    2、python源文件文件编码

    3、终端使用的编码(windows/linux/os)

    4、操作系统的语言设置
    一、模块、包

    1、什么是模块?

    1、把相同功的函数放在一个py文件里,称为模块。

    2、一个PY文件就称为一个模块。

    3、模块有什么好处:

    1、容易维护。

    2、减少变量和函数名冲突。

    4、模块种类:

    1、第三方模块——别人写的模块

    2、内置模块——编译器自带模块(如:os、sys、等)

    3、自定义模块——自己编写的模块

    5、模块怎么导入:

    通过import命令导入,eg:import os(模块名)

    2、什么是包?

    1、把多个模块放在同一个文件夹内,这个文件夹称为包。

    2、文件夹称为包还有一个条件——文件夹里要有__init__.py模块。

    3、模块与包有什么区别

    1、模块——一个py文件就称一个模块

    2、包——一个包含有__init__.py的文件夹称为一个包;一个包里可以有多个py模块。

    json、pickle

    1、什么是序列化?

    1、把内存数据转换成字符串。

    1、把内存数据保存到硬盘。

    2、把内存数据传输给他人(由于网络传输是通过二进制传输,所以需要进行转换)。

    2、序列化的模块有两个,json和pickle

    2、json、pickle有什么优点和缺点?

    1、json——把json所支持的数据转换成字符串

    优点:体积小、跨平台。

    缺点:只支持int、str、list、dict、tuple等类型。

    2、pickle——把python所支持的所有类型转换成字符串

    优点:支持python 全部数据类型

    缺点:只能在python平台使用,占用空间大。

    3、json和pickle有4个方法

    load 、loads 、dump 、dumps

    load:通过open函数的read文件方法,把内存数据转成字符串

    loads:把内存数据转成字符串

    dump:通过open函数的write文件方法,把字符串转换成相应的数据类型。

    dumps:把字符串数据转成相应的数据类型。

    shelve

    1、什么是shelve?

    1、shelve是一种key,value 形式的文件序列化模块;序列化后的数据是列表形式。

    2、底层封装了pickle模块,支持pickle模块所支持的数据类型。

    3、可以进行多次反序列化操作。

    hashlib

    1、什么是hashlib?

    hashlib 模块——也称‘哈希’模块。

    通过哈希算法,可以将一组不定长度的数据,生成一组固定长度的数据散列。

    特点:

    1、固定性——输入一串不定长度的数据,生成固定长度的数字散列。

    2、唯一性——不同的输入所得出的数据不一样。

    2、md5

    输入一串不定长度的数据,生成128位固定长度的数据。

    特点:

    1、数字指纹——输入一串不定长度的数据,生成128位固定长度的数据(数字指纹)。

    2、运算简单——通过简单的运算就可以得出。

    3、放篡改——改动很少,得出的值都会不一样。

    4、强碰撞——已知MD5值,想找到相同的MD5值很难。

    函数

    1、什么是函数?

    把代码的集合通过函数名进行封装,调用时只需要调用其函数名即可。

    有什么好处:

    1、可扩展

    2、减少重复代码

    3、容易维护

    2、函数的参数?

    函数可以带参数:

    形参:

    1、在函数定义是指定。

    2、函数调用时分配内存空间,函数运行结束,释放内存空间。

    实参:

    1、形式可以是常量、变量、表达式、函数等形式。

    2、无论是何种形式,都必须要有明确的值,以便把数据传递给形参。

    默认参数:

    1、函数定义时可以指定默认参数(eg: def func(a,b=1))

    2、传参时指定了默认参数,就使用传参时的值,没有指定,则使用默认参数的值。

    关键参数:

    1、函数传参时需按顺序传参,如果不按顺序传参可以使用关键参数传参。

    非固定参数:

    1、当不确定参数的数量时可以使用非固定参数。

    2、非固定参数有两种:1.*args——(传入的参数以元组表示)。2.**kwargs——(传入的阐述用字典表示)

    3、函数的返回值

    1、函数可以把运算的结果返回。

    2、函数可以有返回值,也可以没有返回值。

    有返回值——通过return返回。

    没有返回值——返回值为None

    3、函数遇到return,代表函数运行结束。

    4、函数的种类

    嵌套函数——一个函数包含了另一个函数。

    高阶函数——一个函数的参数引用了另一个函数,一个函数的返回值是另一个函数。

    匿名函数——不用显式指定函数名的函数(lambrda),常和map和filter配合使用。

    递归函数

    1、函数内部引用了函数自身

    2、函数里有一个明确的结束条件。

    递归函数的特性:

    1、有一个明确的结束条件

    2、每次递归的规模都应有所减少

    3、递归函数的效率不高。

    作用域

    1、名称空间

    名称空间就是存放变量名和变量值(eg:x=1)绑定关系的地方。

    1、名称空间种类:

    local:函数内部,包括形参和局部变量。

    global:函数所在模块的名字空间。

    buildin:内置函数的名字空间。

    2、变量名的作用域范围的不同,是由这个变量名所在的名称空间所决定的。

    全局范围:全局存活,全局有效。

    局部范围:局部存活,局部有效。

    2、作用域查找顺序

    作用域查找顺序:

    local——》enclosing function——》global——》builtin

    local:函数内部,包括形参、局部参数。

    enclosing function:内嵌函数。

    global:函数所在模块。

    builtin:内置函数。

    闭包

    1、什么是闭包

    1、一个嵌套函数,分别有内函数,外函数。

    2、内函数使用了外函数的变量。

    3、外函数返回了内函数的应用地址。

    4、那么这个嵌套函数就称为闭包。

    2、闭包有什么意义

    1、闭包返回的对象不仅仅是一个对象,而且还返回了这个函数的外层包裹的作用域。

    2、无论这个函数在何处被调用,都优先使用其外层作用域。

    装饰器

    1、什么是装饰器

    1、装饰器本质上就是一个闭包函数。

    2、装饰器的作用是,在不改变原有函数的调用方式下,增加代码的功能。

    结束语 🥇🥇🥇
    推荐一款模拟面试、Python刷题神器网站点击链接注册即可
    1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单
    2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题
    3、大厂笔试真题:字节跳动、美团、百度、腾讯…

    不喜勿喷,喜欢的点个赞呗!

    展开全文
  • Python复习知识点(一)

    千次阅读 2021-04-27 04:20:05
    而pop是内建函数,我们无法用变量去接收del删除的项 (参数可以不写,默认删除最后一项) list.remove(obj) 移出列表中某个值第一次匹配的项 list.reverse() 反向列表中的元素(收尾互换),不代表倒序排列!...

    .    python简介

    Python是一种解释型语言

    Python使用缩进对齐组织代码执行,所以没有缩进的代码,都会在载入时自动执行

    数据类型:整形          int              无限大

    浮点型      float            小数

    复数         complex       由实数和虚数组成

    Python中有6个标准的数据类型:

    Number(数字)

    String(字符串)

    List(列表)

    Tuple(元组)

    Sets(集合)

    Dictionart(字典)

    其中不可变得数据:

    Number(数字)            String(字符串)            Tuple(元组)            Sets(集合)

    可变得:

    List(列表)         Dictionart(字典)

    我们可以用type或者isinstance来判断类型

    145efa539467d8338998757defe957eb.png

    type()不会认为子类是一种父类类型。

    isinstance()会认为子类是一种父类类型

    python中定义变量,不需要写变量类型,但是必须初始化。会根据我们写的数据类型,自动匹配

    变量命名规则:由字母,数字,下划线组成,第一个必须字母或者下划线,对大小写敏感,不能是关键字

    输入与输出

    在我们需要输入中文的时候,需要包含头文件

    # -*- coding: UTF-8 -*-或者#coding=utf-8

    输入    a=input("请输入一个数字")          返回值为str类型

    输出    print('hello world')                        当然这里也可以严格按照格式控制符去输出变量值

    例如:print("now a=%d,b=%d"%(a,b))

    双引号后面没有逗号

    print默认换行,我们可以print( end=''),修改默认参数让他不换行,

    也可以在print()后面加逗号  print(xxx),  这样也可以不换行    测试发现:只适合在2.7版本

    2.    基础语法

    运算符:

    算术运算符:        多了一个**,代表    幂方        5**5        就是5的5次方            还多了一个    //    整数除法

    逻辑运算符:        and,or,not    与,或,非

    赋值运算符:        没有++,--

    身份运算符:        is    is not

    91086f1e13dda4b640369a3881fc4b6f.png

    成员关系运算符:    in  not      in

    总结:多出来了** 和    //        //就是整除的意思 比如 5//3结果为 1     但是5/3结果为小数    1.6666666667

    运算符优先级(下面由高到低):

    幂运算符最高

    幂运算符                **

    正负号                    + -

    算术运算符            *,/,//,+,-

    比较运算符            ,>=,==,!=

    逻辑运算符            not,and,or    (not>and>or)

    选择结构

    if-else

    if-elif-else(这里可以不写else)

    逻辑结果

    python里面只要是"空”的东西都是false    ""(中间有空格就为真,这里什么都不写,为假)    空元组,空列表,空字典    0 都为false

    字符串

    c131f43000873baf8c56ad13a22713bd.pngPis:在字符串前面添加一个 r,表示原始字符串,不会发生转义

    列表

    list是处理一组有序项目的数据结构,用方括号定义

    列表的操作:

    一,通过下标去访问列表中的值    (

    可以用切片的方式去访问)

    输出结果:这里就用了切片的方式去访问1到5

    重点:这里切片的使用方法要注意,我们写的1:5实际访问的是下标为1,2,3,4.没有5!

    81dca81a53c20859ae8f36def19df358.png

    二,更新列表(列表是可以修改的)

    通过下标去直接修改他的值

    三,删除列表元素(del + 列表项)      删除项remove()后面说

    70043b511e43c0b5258f2f7b4fab1647.png

    四,列表的脚本操作符

    f739b518c17f3446fa570e9c37ac0982.png

    五,对于列表截取,拼接

    f7a067d85e5c887d5884c7aa42d94666.png

    六,list自带函数    (其中有元组转列表)

    方法

    功能

    max(list)

    返回列表元素最大值

    min(list)

    返回列表元素最小值

    list(seq)

    元组转列表

    list.append(obj)

    在列表末尾添加新对象

    list.count(obj)

    统计某个元素在列表出现的次数

    list.extend(seq)

    在末尾添加新列表,扩展列表

    list.index(obj)

    在列表中找出某个值第一个匹配性的索引位置

    list.insert(index,obj)

    将对象插入列表,其中的index,为插入的位置,原来该位置后面的元素包含该位置元素,都统一后移

    list.pop(obj=list[-1])

    有默认参数,即最后一项

    删除指定位置元素并返回,他和del的区别在于del是一个关键字。而pop是内建函数,我们无法用变量去接收del删除的项    (参数可以不写,默认删除最后一项)

    list.remove(obj)

    移出列表中某个值第一次匹配的项

    list.reverse()

    反向列表中的元素(收尾互换),不代表倒序排列!

    list.sort()

    对列表进行排序

    list.copy()

    复制列表

    list.clear()

    清空列表

    Set集合

    集合是一个无序不重复元素的序列

    基本功能就是进行成员关系测试,和删除重复元素    (所谓成员关系测试就是查看他们是否重复,两个集合的交集...)

    可以使用 { } 或者set()函数来创建集合    但是

    创建一个空集合必须适用set()

    be56631f4bc285e6ed8171c9c2a9577d.png

    展开全文
  • 知识点 8 基因突变和基因重组 一选择题 60 O 1. 扬州高一检测放射同位素 C 能够产生 射线高速运动的 射线作用于 DNA能够 使氢键断裂 . 碱基替换从而有可能诱发生 物产生 A. 基因突变 B. 基因重组 C. 基因互换 D. ...
  • 线性代数知识点整理

    2022-07-06 15:10:03
    线性代数基础知识点摘要整理
  • C语言期末考试知识点总结

    千次阅读 多人点赞 2021-12-04 10:25:11
    考试注意: 括号在这里的重要。 第五章 函数:是具有一定功能的一个程序块; 1) 函数的参数,返回数值(示意图): main() { int a = 5,b=6,c; c = add(a,b); printf(“%d”,c); } 调用函数 a,b是实参 整个...
  • 大学物理(下)知识点总结

    万次阅读 多人点赞 2020-10-01 21:17:08
    大学物理(下)知识点总结(持续更新) 文章目录大学物理(下)知识点总结(持续更新)静电场知识点总结习题精选 静电场 需要掌握的重难点:电通量的高斯定理,电势的两种求法。 知识点总结 1、电荷守恒定律 在一个...
  • 高等代数-知识点

    千次阅读 2020-07-03 17:20:28
    考研:小题,无法联系其他知识点,当场解决。 3、二阶、三阶行列式具体计算 考研:不会单独出题,常常结合伴随矩阵、可逆矩阵考察。 4、余子式和代数余子式 考研:代数余子式的正负是一个易错点,了解代数余子式...
  • C语言重要知识点

    万次阅读 多人点赞 2017-12-04 21:24:47
    C语言最重要的知识点 总体上必须清楚的:  1)程序结构是三种: 顺序结构 、选择结构(分支结构)、循环结构。  2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个...
  • 很不错的Java基础知识整理,其中包括JVM原理、多线程、数据结构和算法、设计模式、分布式等内容。因为之前需要面试就买来看看,扎实一下基础知识。强烈推荐。
  • C语言专插本知识点

    千次阅读 2021-11-09 16:09:27
    1程序结构 顺序结构、选择结构(分支结构)、循环结构 2.位 字节 bit是位 是指为0或者1,byte是指字节,一个字节 = 八个位 3.基础认识 c语言编写的程序称为源程序,又称为编译单位 只有一个main函数,是程序运行的...
  • 离散数学简单复习知识点汇总

    万次阅读 多人点赞 2019-03-18 21:52:12
    半群:代数结构满足结合律称为半群,若还有单位元则是独异,若每个元素还含有逆元,则为群,若还满足可交换,则是Abel群。 平凡子群:H包含于G,且H={e}或H=G时,*>是平凡子群;质数阶群无非平凡子群...
  • (2)同步赋值语句 【变量1】,【变量2】……=【表达式1】,【表达式2】…… 比如>>> a,b=1,3 >>> print(a,b) 1 3 >>> print(a) 1 注意:重要应用,互换变量 x,y=y,x>>> a,b=1,3 >>> print(a,b) 1 3 >>> ...
  • Java常用基础知识点总结(最全)

    万次阅读 多人点赞 2020-08-02 20:58:01
    Java基础知识点总结 大纲 一、Java基础(语言、集合框架、OOP、设计模式等) 二、Java高级(JavaEE、框架、服务器、工具等) 三、多线程和并发 四、Java虚拟机 五、数据库(Sql、MySQL、Redis等) 六、算法与数据...
  • 数据结构知识点总结

    千次阅读 2021-02-09 18:14:16
    完全图: 任意两个都有一条边相连。 无向完全图: n (n - 1) / 2 条边 ; 有向完全图 :n (n - 1) 条边 路径长度: 路径上边或弧的数目。 回路(Cycle) : 第一个顶点和最后一个顶点相同的路径。 简单路径 : 序列...
  • 前言 本文主要涵盖了关于消息队列的大部分核心知识点,涉及的消息队列有 RocketMQ、Kafka。 本文很长,所有内容都为博主原创,纯手打,如果觉得不错的话,来个点赞评论收藏三连呀! 之后还会有迭代版本,当然也会有...
  • 通信原理知识点汇总1

    万次阅读 2022-01-27 16:09:42
    1.写出香农信道容量公式及所能得出的结论,和在...2.如何评价模拟通信系统和数字通信系统的有效和可靠? ①有效:指传输一定信息量时所占用的信道资源(频带宽度和时间间隔),或者说是传输的“速度”问题。 ②可
  • 数据结构期末考试必考知识点

    千次阅读 2022-01-01 13:55:26
    4、算法的五大特性:确切、有穷、输入项、输出项、可行 5、KMP算法必考: 这张图就是找的KMP算法的逻辑 考试会考你写字符串的next数组: next数组的求解方法是:第一位的next值为0,第二位的next值为1,后面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,429
精华内容 6,171
关键字:

互换性知识点