• python学习-基础知识总结


    (一)基础语法

    1.1、注释

    程序添加注释,可以用来解释程序某些部分的作用和功能,提高程序的可读性,注释有两种形式:

    • 单行注释:#
    • 多行注释:单引号('''注释内容''')或双引号("""注释内容""")

    1.2、变量

    python是弱类型语言,变量不用声明即可直接赋值,而且其数据类型可以动态改变。

    1.3、基本数据类型

    • 数字:整数(八、十、十六进制)、浮点数、复数
    • 字符串
    • 布尔类型

    数据类型转换:

    1.4、输入与输出

    • input():输入
    • print():输出

    (二)运算符与表达式

    2.1、运算符

    算数运算符

     赋值运算符

     比较运算符

     逻辑运算符

     位运算符

    • 按位与(&):两个操作数据的二进制表示,只有对应位都是1时,结果位才是1,否则为0
    • 按位或(|):两个操作数据的二进制表示,只有对应位都是0,结果位才是0,否则为1
    • 按位异或(^);当两个操作数的二进制表示相同(同时为0或同时为1)时,结果为0,否则为1
    • 按位取反(~):对应二进制中的1修改为0,0修改为1
    • 左移位(<<):二进制操作数向左移动指定的位数
    • 右移位(>>):二进制操作数向右移动指定的位数

    2.2、运算符优先级

     2.3、条件表达式

    r = a if a > b else b

    等价于

    if a>b:
        r=a
    else:
        r=b

    (三)流程控制语句

    3.1、顺序结构

    if

    单分支:

    1. if 布尔表达式 1
    2. 分支1

    双分支

    1. if 布尔表达1:
    2.   分支1
    3. else:
    4.   分支2

    多分支

    1. if 布尔表达1:
    2.   分支1
    3. elif 布尔表达2
    4.   分支2
    5. .....
    6. else:
    7.   分支n

    3.2、循环结构

    while

    1. while 条件表达式:
    2.   循环体
    1. while 条件表达式:
    2.   循环体
    3. else:
    4.   语句块
    for
    1. for 变量 in 迭代对象:
    2.   循环体
    1. for 变量 in 迭代对象:
    2.   循环体
    3. else:
    4.   语句块

    3.3、break、continue、pass

    • break:以停止执行最深层的循环,并开始执行下一行代码
    • continue:跳出本次循环
    • pass:空语句,作用是保持程序结构的完整性

    (四)序列

    4.1、列表

    1、创建:

    • 直接创建:列表名=[];

    • list()函数创建:列表名=list();

    2、增加元素:

    • 连接符“+”:用于两个列表之间的连接
    • a.append(b):将元素b插入列表a之后(插入的内容视为一个元素)
    • a.extend(b):将列表b插入列表a之后,插入的内容视为多个
    • a.insert(index,b):指定位置插入,在第index位置(从0开始计算)插入值b

    3、修改:

    直接赋值:列表名[索引值]=新值

    4、删除:

    • del ():指定删除元素。

    • pop():删除最后一个元素,并返回该值

    • remove():删除首次出现的指定元素

    5、访问:

    • index(b,start,len):从start到len范围内,查找值b首次出现的下标,start默认为0,len默认列表的长度,即默认查找整个列表

    • count():统计袁术出现的次数

    6、判断是否存在:in(not in)

    7、切片:

    切片的格式是:[开始,结束,步长],步长默认是1

    当只有两个参数时候是[开始,结束],而且是包含左边,不包含右边

    切片的核心是快速灵活的选择列表的元素,选择之后,可以进行增删改查等一系列操作,

    切片的特殊操作:

    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> a[len(a):]=[10,11]   //末尾增加元素
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    >>> a[:3]=[]   //删除前三个元素
    >>> a
    [3, 4, 5, 6, 7, 8, 9, 10, 11]
    

    8、复制列表:

    • 浅复制:直接赋值。例如:b=a[],a的值复制给了b
    • 深复制:copy()或deepcopy()例如:b=copy.copy(a)或b=copy.deepcopy(a),把列表a中的值复制给b,copy是一个类,需要导入

    浅复制:a的值复制给b之后,当a列表的值改动,b列表的值也跟着改动

    深复制:a复制给b之后,列表a和列表b互不印象

    9、排序:

    • 自身排序方法:sort():升降序;reverse():逆序
    • 内置函数:sorted():升序,reversed():逆序
    • 打乱排序:random中的shuffle()

    10、内置函数

    • all:所有的元素是否等价于true(0为flase,非0为true)即:所有元素中是否非0
    • any:所有元素是否存在元素等价于true,即:所有元素是否有非0值
    • max(列表)、min(列表):求列表的最大值
    • sum(列表):所有元素之和
    • zip(列表a,列表b):多个列表组合成元组
    • enumerate(列表):返回枚举对象

    11、列表推导式:

    list=[expression for var in range]

    4.2、元组

    1、创建:

    • 直接创建:元组名=(值1,值2.....)
    • tuple():元祖名=tuple(值1,值2.....)
    • zip(a,b):a和b可以是列表,也可以是元祖,连接a和b,生成元祖

    2、序列解包:

    对多个变量同时赋值

    4.3、字典

    1、创建

    • 直接创建

    • dict()

    • dict.fromkeys():只创建值,没有值

    2、读取:

    1. 键作为下标:通过键,读取值

    2. get方法:通过键读取值

    3. items():返回键值对集合,需要遍历访问

    4. keys():返回键的集合

    5. values():返回值的集合

    3、添加与修改:

    字典名[键a]=值b:当键a不存在时,语句是增加键值对,当键a存在时,会对值进行修改

    4.4、集合

    创建:

    • 直接创建
    • set()方法:若内容重复,自动归类

    删除:

    • pop():无参数,删除第一个元素,返回删除的值
    • remove():指定删除元素
    • clear():删除全部元素

    增加:add(值)

    运算

    • 并集 :aIb
    • 交集:a&b
    • 差集:a-b
    • 对称差集:a^b
    • 判断子集:a

    (五)字符串

    5.1、格式化字符串

    格式:

    '%[-][+][0][m][.n]格式化字符'%exp

    [-]:可选参数,右对齐

    [+]:可选参数,左对齐

    [0]:可选参数,表示右对齐,填充空白处

    [m]:可选参数,表示宽度

    [.n]:可选参数,表示小数点后保留的位数

    格式化字符:用于指定类型

    exp:要转换的项

     常用的格式化字符有:

    2、字符串对象的format方法

    {[index][:[[fill]align][sign][#][width][.precision][type]]}.format(args)

    args:用于指定要转换的项,如果有多项,则用逗号进行分隔

    index:可选参数,用于指定要设置格式的对象在参数列表中的索引位置,索引值从0开始。

    align:可选参数,用于指定对齐方式

            值为“<”:表示内容左对齐;

            值为“>”:表示内容右对齐;

            值为“=”表示内容右对齐,

            将符号放在填充内容的最左侧,且只对数字类型有效;

            值为“^”表示内容居中

    sign:可选参数,用于指定有无符号数

    #:可选参数,对于二进制、八进制和十六进制,如果加上“#”,表示会显示0b/0o/0x前缀

    width:可选参数,用于指定所占宽度。

    .precision:可选参数,用于指定保留的小数位数

    .precision:可选参数,用于指定保留的小数位数,格式如下:

    5.2、常用方法

    1、查看帮助

    • dir(""):查看字符串操作所有方法
    • help("".方法名):查看方法的具体信息

    2、字符串查找

    • count()方法用于检索指定字符串在另一个字符串中出现的次数
    • find()方法:用于检索是否包含指定的子字符串。如果检索的字符串不存在,则返回−1,否则返回首次出现该子字符串时的索引
    • index()方法:用于检索是否包含指定的子字符串,字符串不存在时会抛出异常

    3、分隔符

    • split()、rsplit():分割成多份,返回列表,如果不指定分隔符,默认使用空格符
    • partiton()、rpartition():分割成三分,返回列表,必须指定分隔符

    4、连接

    • join:多个字符连接,并指定连接对象,格式:连接符.join(连接对象)
    • +

    5、大写小写转换:

    • lower():全部大写字母转换为小写字母
    • upper():全部小写字母转换为大写
    • capitalize():首字母大写(整个句子的第一个单词)
    • title():每个单词都大写
    • swapcase():大写变小写,小写变大写

    6、替换

    • replace(a,b):用内容b代替内容a
    • translate(''.maketrans(a,b)):用b代替a,这是多对对的替换 ,例如
    1. >>> a
    2. '123dsf'
    3. >>> a.translate(''.maketrans('0123','零一二三'))
    4. '一二三dsf'

    7、删除

    • strip():删除两边空白字符或指定字符
    • rstrip():删除右边空白字符或指定字符
    • lstrip():删除左边空白字符或指定字符

    8、求值

    eval():求解公式的指

    9、判断开头或者结尾字符

    • startswith()方法:于检索字符串是否以指定子字符串开头。如果是,则返回True,否则返回False
    • endswith()方法:用于检索字符串是否以指定子字符串结尾。如果是,则返回True,否则返回False

    10、判断字符串类型

    • isalnum():判断是否是字母或数字
    • isalpha():判断是否是英文字母
    • isdigit():判断是否是数字
    • issupper():判断是否是大写字母
    • islower():判断是否是小写
    • isspace():判断是否是空白字符

    11、对齐方式

    • center():居中对齐,格式:center(长度,填充字符)
    • ljust():左对齐
    • rjust():右对齐

    5.3、编码

    1、编码:encode():

    str.encode([encoding="utf-8"][,errors="strict"])
    • str:表示要进行转换的字符串
    • encoding="utf-8":可选参数,用于指定进行转码时采用的字符编码,默认为UTF-8,中文是gb2312
    • errors="strict":可选参数,用于指定错误处理方式

    2、解码:

    bytes.decode([encoding="utf-8"][,errors="strict"])

  • 相关阅读:
    vscode如何格式化超大型JS代码
    EF7学习指南
    探秘三维地形瓦片服务:流畅展现全球地貌的秘密揭秘
    智能文档图像处理技术:解决大数据时代文档图像处理难题
    如何通过百度SEO优化提升网站排名(掌握基础概念,实现有效优化)
    Web Scraping with Beautiful Soup for Data Scientist
    Excel找到某个指定值的最大或者最小日期/数值
    注解的应用:模拟Junit框架
    css如何讲一个框分为三份写内容?
    如何分析周活跃率?
  • 原文地址:https://blog.csdn.net/weixin_49349476/article/details/130632987