• python基础知识点整理


    序列

    描述

    sequence(序列)是一组有顺序的元素的集合。序列可以包含一个或多个元素,也可以没有任何元素。我们之前所说的基本数据类型,都可以作为序列的元素。

    序列有两种:tuple(定值表; 也有翻译为元组) 和 list (表)

    s1 = (2, 1.3, 'love', 5.6, 9, 12, False) # s1是一个tuple
    s2 = [True, 5, 'smile'] # s2是一个list

    tuple元素不可变list元素可变

    序列的引用 s[2], s[1:8:2]

    字符串是一种tuple

    序列操作

    #s为一个序列
    
    len(s)  #返回: 序列中包含元素的个数
    
    min(s)  #返回: 序列中最小的元素
    
    max(s)  #返回: 序列中最大的元素
    
    all(s)  #返回: True, 如果所有元素都为True的话
    
    any(s)  #返回: True, 如果任一元素为True的话
    
    sum(s)  #返回:序列中所有元素的和
    
    #x为元素值,i为下标(元素在序列中的位置)
    
    s.count(x)  #返回: x在s中出现的次数
    
    s.index(x)  #返回: x在s中第一次出现的下标

    列表增删 

    # list为一个表, list2为另一个表
    
    list.extend(list2)   #在表list的末尾添加表list2的所有元素
    
    list.append(x)   #在list的末尾附加x元素
    
    list.sort()   #对list中的元素排序
    
    list.reverse()    #将list中的元素逆序
    
    list.pop()    #返回:表list的最后一个元素,并在表l中删除该元素
    
    del list[i]    #删除该元素
    
    (以上这些方法都是在原来的表的上进行操作,会对原来的表产生影响,而不是返回一个新表。)

    字符串

    #str为一个字符串,sub为str的一个子字符串。s为一个序列,它的元素都是字符串。width为一个整数,用于说明新生成字符串的宽度。
    
    str.count(sub)  #返回:sub在str中出现的次数
    
    str.find(sub)  #返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
    
    str.index(sub)  #返回:从左开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误
    
    str.rfind(sub)  #返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,返回 -1
    
    str.rindex(sub)  #返回:从右开始,查找sub在str中第一次出现的位置。如果str中不包含sub,举出错误
    
    str.isalnum()  #返回:True, 如果所有的字符都是字母或数字
    
    str.isalpha()  #返回:True,如果所有的字符都是字母
    
    str.isdigit()  #返回:True,如果所有的字符都是数字
    
    str.istitle()  #返回:True,如果所有的词的首字母都是大写
    
    str.isspace()  #返回:True,如果所有的字符都是空格
    
    str.islower()  #返回:True,如果所有的字符都是小写字母
    
    str.isupper()  #返回:True,如果所有的字符都是大写字母
    
    str.split([sep, [max]])  #返回:从左开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.split(',')的方式使用逗号或者其它分割符
    
    str.rsplit([sep, [max]])  #返回:从右开始,以空格为分割符(separator),将str分割为多个子字符串,总共分割max次。将所得的子字符串放在一个表中返回。可以str.rsplit(',')的方式使用逗号或者其它分割符
    
    str.join(s)  #返回:将s中的元素,以str为分割符,合并成为一个字符串。
    
    str.strip([sub])  #返回:去掉字符串开头和结尾的空格。也可以提供参数sub,去掉位于字符串开头和结尾的sub
    
    str.replace(sub, new_sub)  #返回:用一个新的字符串new_sub替换str中的sub
    
    str.capitalize()  #返回:将str第一个字母大写
    
    str.lower()  #返回:将str全部字母改为小写
    
    str.upper()  #返回:将str全部字母改为大写
    
    str.swapcase()  #返回:将str大写字母改为小写,小写改为大写
    
    str.title()  #返回:将str的每个词(以空格分隔)的首字母大写
    
    str.center(width)  #返回:长度为width的字符串,将原字符串放入该字符串中心,其它空余位置为空格。
    
    str.ljust(width)  #返回:长度为width的字符串,将原字符串左对齐放入该字符串,其它空余位置为空格。
    
    str.rjust(width)  #返回:长度为width的字符串,将原字符串右对齐放入该字符串,其它空余位置为空格。

    常用函数

    type() #查询数据类型(整数,浮点数,真值(True/False),字符串)
    
    dir(list)  #dir()用来查询一个类或者对象所有属性。你可以尝试一下
    
    help(list)  #help()用来查询的说明文档。你可以尝试一下

    range()

    range(5) #代表从0到5(不包含5) ==>[0, 1, 2, 3, 4]
    range(1,5) #代表从1到5(不包含5) ===>[1, 2, 3, 4]
    range(1,5,2) #代表从1到5,间隔2(不包含5) ===>[1, 3]

    enumerate()函数,可以在每次循环中同时得到下标和元素:

    #例1:
    S = 'abcdefghijk'
    for (index,char) in enumerate(S):
    print(index, char)
    
    #例2:
    for i,j in enumerate(('a','b','c')):
    print(i,j)
    返回结果:
    0 a
    1 b
    2 c

    zip()函数的功能,就是从多个列表中,依次各取出一个元素。每次取出的(来自不同列表的)元素合成一个元组,合并成的元组放入zip()返回的列表中。

    #例:
    ta = [1,2,3]
    tb = [9,8,7]
    tc = ['a','b','c']
    for (a,b,c) in zip(ta,tb,tc):
    print(a,b,c)

    lambda函数也叫匿名函数,即,函数没有具体的名称。

    #例:
    def f(x):
    return x**2
    print f(4)
    Python中使用lambda的话,写成这样
    g = lambda x : x**2
    print g(4)

    map()函数会根据提供的函数对指定序列做映射

    #例:
    re = map(lambda x: x ** 2, [1, 2, 3, 4, 5])
    print(list(re))
    返回结果为:
    [1, 4, 9, 16, 25]

    filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

    #例:
    def func(a):
    if a > 100:
    return False
    else:
    return True
    re = filter(func, [12, 434, 665, 5])
    print(list(re))
    
    #结果为:(保留返回值为True的元素)
    [12, 5]

    reduce()函数中function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

    #例:
    from functools import reduce   #在Python 3里,reduce()函数已经被从全局名字空间里移除了,需要从fucntools模块引用
    print(reduce((lambda x, y: x + y), [1, 2, 5, 7, 9]))
    
    #返回结果为:
    24   #上面例子,相当于(((1+2)+5)+7)+9

    文件读写

    格式

    f = open(filename,mode)

    mode:

    r: #以读方式打开文件,可读取文件信息。
    
    w: #以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容
    
    a: #以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建
    
    r+:#以读写方式打开文件,可对文件进行读和写操作。
    
    w+:#消除文件内容,然后以读写方式打开文件。
    
    a+:#以读写方式打开文件,并把文件指针移到文件尾。
    
    b: #以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。

    读操作

    f.read([count]):#读出文件,如果有count,则读出count个字节。
    
    f.readline():#读出一行信息。
    
    f.readlines():#读出所有行,也就是读出整个文件的信息。

    写操作

    f.write(string):#把string字符串写入文件。
    
    f.writelines(list):#把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。

    关闭

    f.close():#关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。

    其他

    f.seek(offset[,where]):#把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值 ;1表示当前位置;2表示文件结尾。
    
    f.fileno():#获得文件描述符,是一个数字
    
    f.flush():#刷新输出缓存
    
    f.isatty():#如果文件是一个交互终端,则返回True,否则返回False。
    
    f.tell():#获得文件指针位置。
    
    f.truncate([size]):#截取文件,使文件的大小为size。

    运算符

    算数运算符:+, -, *, /, **, %
    
    比较运算符:==, !=, >, >=, <, <=, in
    
    逻辑运算符:and, or, not

    进制

    获取内存地址的十进制和十六进制表示。

    a = 1
    print(id(a))
    print(hex(id(a)))
    
    #返回结果:
    11246696
    '0xab9c68'
  • 相关阅读:
    x-www-form-urlencoded与multipart/form-data区别
    objc_msgSend method_getTypeEncoding 与 @encode
    历史文件备份,原文件已损失
    和安全有关的那些事(非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS及其他)
    HTTP权威指南 目录
    Makefile 与tab
    NSString+URLParser NSScanner
    (转)虚拟文件系统(VFS)浅析
    Linux套接字与虚拟文件系统(1):初始化和创建
    linux内核中的文件描述符(二)--socket和文件描述符
  • 原文地址:https://www.cnblogs.com/MacoLee/p/5896939.html
Copyright © 2020-2023  润新知