精华内容
下载资源
问答
  • Python知识点总结

    2018-11-22 10:12:11
    Python知识点总结

    Python知识点总结

    展开全文
  • python知识点总结

    2019-12-25 00:17:30
    python知识点总结 数据类型 数字 浮点数:有小数点的数字 整数:没有小数点的数字 字符串(字符序列) 布尔类型 False(0) True(1) 运算符 算数运算符 运算符 说明 实例 结果 / 除 7/2 3.5 % 求...

    python知识点总结


    数据类型

    数字
    • 浮点数:有小数点的数字
    • 整数:没有小数点的数字
    字符串(字符序列)
    布尔类型
    • False(0)
    • True(1)

    运算符

    算数运算符
    运算符 说明 实例 结果
    / 7/2 3.5
    % 求余 7%2 1
    / / 取整除 7//2 3
    比较运算符
    • 等于号是“==”
    • 不等于是“!=”
    逻辑运算符
    • and 有假的就输出假的,没有假的就输出最后一个真的
    • or 和and相反
    • not(结合方向是从右到左)

    流程控制语句

    选择语句

    1.if…elae语句的简写

    a = -9
    if a > 0:
    	b = a
    else:
    	b = -a
    print(b)
    

    可简写为

    a = -9
    b = a if a>0 elae -a
    print(b)
    

    2.在多个if…elif…else语句中,elif和else都是从属前面第一个if

    """
        用单个while配合if条件,循环九次打印下列矩阵:
            11 12 13
            14 15 16
            17 18 19
        
    """
    #错误解法一:
    i = 10
    while True:
        if i > 18:
            break
        else:
            i += 1
            if i==13:
                print(i,'\n')
            if i==16:
                print(i,'\n')
            if i==19:           #下面的else从属这个if语句
                print(i,'\n')
            else:
                print(i,end=' ')#当else前有多个if语句时,else默认从属于它上面离他最近的if
    
    

    将第二、第三个if改为elif即可

    循环语句

    continue、break、pass语句

    这仨一般都是结合if语句搭配使用

    • continue:跳过当前循环的剩余语句块,进入下轮循环
    • break:跳出循环
    • pass:表示空语句,什么都不做
    • 假设你在400m田径场跑步
      • continue:跑了一下,发现忘记计时了——重新回起点重新跑一圈
      • break:跑了一下,舍友叫你去喝奶茶——算了不跑了,胖死我吧
      • pass: 跑着跑着,突然摔了个狗吃屎——爬起来发现没人看见,拍拍灰尘继续跑

    组合数据类型

    概述:

    • 索引
      • 正数索引:从0开始(左边)
      • 负数索引:从-1开始(右边)
    • 切片
    verse[start:end:step]
    
    1.列表
    2.元组(有顺序,创建后不能修改)
    3.集合(没有顺序的不可以重复的数据)
    4.字典(用户可以自己定义索引的序列,字典类型是映射的体现)

    字符串

    字符串与列表很相似,正如前面提到的,字符串是字符序列

    字符串编码转化
    • encode()编码
    • decode()解码
    字符串常用操作
    • 拼接与截取

      • 拼接直接用”+”
      • 截取类似列表的切片:string[start:end:step]
    • 分割与合并

      • str.split(sep,maxsplit)
      • newstr = string.join(iterable)
    • 计算长度

      • len()
    • 检索

      • count()
      • find()
      • index()
    • 字母大小写转换

      • lower()
      • upper()
    • 格式化

      • 使用%操作符(不推荐)
      • format()

    函数

    创建函数:
    def functionname([parameterlist]):
    	[fuctionbody]
    

    functionname:函数名
    parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,那么参数之间用逗号隔开
    functionbody:用于指定函数体

    异常处理


    异常 描述
    IOError 输入输出错误(如要读取的文件不存在)
    AttributeError 尝试访问位置的对象属性引发的错误
    IndetationError 缩进错误
    MemoryError 内存不足
    ZeroDivisionError 除数为0

    语法:

    try:
    	[语句块1]
    except (xxError):#except后面不指定异常名称,则表示捕获全部异常
    	[语句块2]#try语句块中出粗,执行except语句块
    else:
    	[语句块3]#try语句块没有出错则执行else的语句块
    finally:
    	[语句块4]#无论是否引发了异常,finally的子句都会执行
    

    except xxError as x语句:

    try:
    	[语句块]
    except (ValueError,ZeroDivisionError) as e:
    	print('出错了!错误是:',e)
    	
    

    如果想捕获全部异常,那么将整个括号和括号内容换成Exception


    文件操作

    file = open(filename[,mode[,buffering]])
    
    • file:被创建的文件对象
    • filename:要创建或者打开文件的文件名称
    • mode:可选参数,指定文件的打开模式
    说明 注释
    r 以只读模式打开文件,文件的指针将会放在文件的开头 文件必须存在
    r+ 打开文件后,可以读取文件内容,也可以写入新的内容覆盖原有内容 文件必须存在
    w 以只写模式打开文件 文件存在,则将其覆盖,否则创建新文件
    w+ 打开文件后,先清空原有内容,使其变为一个空的文件,对这个空文件有读写权限 文件存在则将其覆盖,否则创建新文件
    a 以追加模式打开一个文件,如果该文件已经存在,文件指针将放在文件末尾,新内容卸载已有内容后面,否则创建新文件用于写入
    a+ 以读写模式打开文件,如果该文件已存在,文件指针将放在文件末尾,否则创建新文件用于写入

    写入文件后,一定要调用close()函数关闭文件,否则写入的内容不会保存到文件中。这是因为我们再写入文件内容时,操作系统不会立刻把数据写入磁盘,而是先缓存起来。 ps:也可以调用flush()函数,把缓冲区的内容写入文件。(这种方法不会关闭文件

    建议用with语句打开文件,此语句执行完后会自动关闭文件:

    with expression as target:
    	[语句体]
    

    题目

    第一题

    17 != 19 and 5
    

    and的左边,17不等于19这个句子是对的,True的值是1
    and一出现错的语句块就返回错的,全都是对的,就返回最后一个对的。
    所以答案是5

    第二题

    7 or 18
    

    or一出现对的语句块就返回对的,全都是错的,就返回最后一个错的

    第三题

    (not 3) + 5
    

    not加一个对的东西就是错的

    第四题

    round(2.5)
    

    round()函数会将括号内的数字四舍五入,变成相应小数位数的数字
    例如round(1.111,2)
    意思是将1.111保留两位小数,结果是1.11
    当没有指定多少位数时,默认取整数
    本来这题的答案应该是3的,但是由于二进制的问题,答案为2

    第五题

    int('22', 16)
    

    题目意思是求16进制下的’22‘
    答案是34

    第六题

    #下列哪个变量名称是非法的:
    #input_, A!, a_b, Int
    

    大小写字母,下划线,数字才能命名,而且数字不能放在首位
    答案是"A!"

    第七题

    a = [8, 2, 8]
    b = sum(a)
    print(b)
    

    sum()函数是可以将列表中的所有元素加起来
    不过要求列表中的元素都可以相加
    数字和布尔类型都可以,但是字符串不行

    第八题

    if True :
        print('Song', 111)
    elif True:
        print('Jinlong', 222)
    else:
        print('SongJinlong', 2582)
    
    

    在循环中,if语句是分支,只经过一条路
    if执行后,下面的elif和else不执行

    第九题

    a = [10, 17, 19, 10]
    b = a[:0:-1]
    print(b)
    

    -1表示逆序,从右到左
    结束位是0(不包括在内)
    所以答案是[10,19,17]

    第十题

    a = [ ]
    a.extend([27, 72])
    print(a)
    

    extend()函数将一个列表添加到另一个列表

    第十一题

    a = [86, 87, 59, 52]
    b = a
    a[0] = 11
    print(b)
    

    答案是[11,87,59,52]
    我惊了
    列表b等于列表a,列表a的元素改变时,列表b的对应元素也改变
    666
    但是,如果是b = a.copy()就不会改变

    第十二题

    x = '甲乙丙丁甲乙丙甲乙'
    y = x.index('甲') + x.count('甲')
    print( y )
    

    x.index(‘甲’)返回值为列表中’甲‘第一次出现的索引


    第十三题

    def 舜滢(x):
        x[0] = 357
        return None
    a = [4,5,6]
    b = 舜滢(a)
    print(a, b)
    

    答案是[357,5,6]none
    列表a进入函数后,第0项改成了357
    return none所以返回值是none,但是列表a的第一个元素已经改变了


    第十四题

    def func(a, b, *p):
        print(p)
    func(9, 0, 2, 4, 6)
    

    答案是(2,4,6)
    *p代表第三个到最后一个参数,返回的p是元组

    第十五题

    def func(x, y=22, **p):
        print(p)
    func(1, y=12, name='Tony', age=23
    

    "**p"将输入的p变成字典

    展开全文
  • python 知识点总结

    2019-11-04 15:45:52
    Python注释 python中单行注释采用 # 开头。 python 中多行注释使用三个单引号(''')或三个双引号(""")。 字符串: 1.字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身...

    Python注释

    python中单行注释采用 # 开头。

    python 中多行注释使用三个单引号(''')或三个双引号(""")。

     

    字符串:

    1. 字符串是以单引号'或双引号"括起来的任意文本,比如'abc'"xyz"等等。请注意,''""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有abc这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I'm,空格,OK这6个字符。

    2. 如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''格式表示多行内容

     

    函数

    定义一个函数要使def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回

    def my_abs(x):
        if x >= 0:
            return x
        else:
            return -x

    模块:

    在Python中,一个.py文件就称之为一个模块(Module)。

    为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)

     导入模块:

    import sys

    作用域

    在一个模块中,我们可能会定义很多函数和变量,但有的函数和变量我们希望给别人使用,有的函数和变量我们希望仅仅在模块内部使用。在Python中,是通过_前缀来实现的。

    正常的函数和变量名是公开的(public),可以被直接引用,比如:abcx123PI等;

    __xxx__这样的变量是特殊变量,可以被直接引用,但是有特殊用途,比如上面的__author____name__就是特殊变量,hello模块定义的文档注释也可以用特殊变量__doc__访问,我们自己的变量一般不要用这种变量名;

    类似_xxx__xxx这样的函数或变量就是非公开的(private),不应该被直接引用,比如_abc__abc等;

     

    字典(Dictionary)

    字典是另一种可变容器模型,且可存储任意类型对象。

    字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:

    d = {key1 : value1, key2 : value2 }

    内置函数

    序号 函数及描述
    1 cmp(dict1, dict2)
    比较两个字典元素。
    2 len(dict)
    计算字典元素个数,即键的总数。
    3 str(dict)
    输出字典可打印的字符串表示。
    4 type(variable)
    返回输入的变量类型,如果变量是字典就返回字典类型。

     内置方法:

    序号 函数及描述
    1 dict.clear()
    删除字典内所有元素
    2 dict.copy()
    返回一个字典的浅复制
    3 dict.fromkeys(seq[, val])
    创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
    4 dict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值
    5 dict.has_key(key)
    如果键在字典dict里返回true,否则返回false
    6 dict.items()
    以列表返回可遍历的(键, 值) 元组数组
    7 dict.keys()
    以列表返回一个字典所有的键
    8 dict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
    9 dict.update(dict2)
    把字典dict2的键/值对更新到dict里
    10 dict.values()
    以列表返回字典中的所有值
    11 pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
    12 popitem()
    返回并删除字典中的最后一对键和值。

     

    python 面向对象

    1. 创建类

    使用 class 语句来创建一个新类,class 之后为类的名称并以冒号结尾:

    class ClassName:
       '类的帮助信息'   #类文档字符串
       class_suite  #类体

    类的帮助信息可以通过ClassName.__doc__查看。

    class_suite 由类成员,方法,数据属性组成。

    __init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法

    self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数

    self代表类的实例,而非类

    类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。

    self 代表的是类的实例,代表当前对象的地址,而 self.__class__ 则指向类。

    2. 访问属性

    使用点号 . 来访问对象的属

    可以使用以下函数的方式来访问属性:

    • getattr(obj, name[, default]) : 访问对象的属性。
    • hasattr(obj,name) : 检查是否存在一个属性。
    • setattr(obj,name,value) : 设置一个属性。如果属性不存在,会创建一个新属性。
    • delattr(obj, name) : 删除属性。

    Python内置类属性

    • __dict__ : 类的属性(包含一个字典,由类的数据属性组成)
    • __doc__ :类的文档字符串
    • __name__: 类名
    • __module__: 类定义所在的模块(类的全名是'__main__.className',如果类位于一个导入模块mymod中,那么className.__module__ 等于 mymod)
    • __bases__ : 类的所有父类构成元素(包含了一个由所有父类组成的元组)

    python对象销毁(垃圾回收)

     Python 使用了引用计数这一简单技术来跟踪和回收垃圾

    析构函数 __del__ ,__del__在对象销毁的时候被调用,当对象不再被使用时,__del__方法运行
     

    类的继承

    通过继承创建的新类称为子类派生类,被继承的类称为基类父类超类

    继承语法

    class 派生类名(基类名)
        ...

     

    如果在继承元组中列了一个以上的类,那么它就被称作"多重继承" 。

    语法:

    派生类的声明,与他们的父类类似,继承的基类列表跟在类名之后,如下所示:

    class SubClassName (ParentClass1[, ParentClass2, ...]):

     

    基础重载方法

    下表列出了一些通用的功能,你可以在自己的类重写:

    序号 方法, 描述 & 简单的调用
    1 __init__ ( self [,args...] )
    构造函数
    简单的调用方法: obj = className(args)
    2 __del__( self )
    析构方法, 删除一个对象
    简单的调用方法 : del obj
    3 __repr__( self )
    转化为供解释器读取的形式
    简单的调用方法 : repr(obj)
    4 __str__( self )
    用于将值转化为适于人阅读的形式
    简单的调用方法 : str(obj)
    5 __cmp__ ( self, x )
    对象比较
    简单的调用方法 : cmp(obj, x)

     

    类属性与方法

    类的私有属性

    __private_attrs:两个下划线开头,声明该属性为私有,不能在类的外部被使用或直接访问。在类内部的方法中使用时 self.__private_attrs

    类的方法

    在类的内部,使用 def 关键字可以为类定义一个方法,与一般函数定义不同,类方法必须包含参数 self,且为第一个参数

    类的私有方法

    __private_method:两个下划线开头,声明该方法为私有方法,不能在类的外部调用。在类的内部调用 self.__private_methods

     

    单下划线、双下划线、头尾双下划线说明:

    • __foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。

    • _foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *

    • __foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。

     

    web 开发

     

    WSGI:Web Server Gateway Interface

    Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯Python编写的WSGI服务器的参考实现。所谓“参考实现”是指该实现完全符合WSGI标准,但是不考虑任何运行效率,仅供开发和测试使用

    由于用Python开发一个Web框架十分容易,所以Python有上百个开源的Web框架

     

     

     

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,873
精华内容 1,949
关键字:

python知识点总结

python 订阅