• python必会的知识基础


    一、运算符

    • 算术运算
      • 加、减、乘
        • 10/3 (得到浮点数)
        • 10//3(取整除 - 向下取接近商的整数)
      • 幂运算(x**y)
        • 幂 - 返回 x 的 y 次幂
      • 取余/取模(%)
        print(10%3)
        1
        • 取模 - 返回除法的余数
    • 赋值运算
      • =:简单的赋值运算符

      • 拓展知识

        • +=:加法赋值运算符
        • -=:减法赋值运算符
        • *=:乘法赋值运算符
        • /=:除法赋值运算符
        • %=:取模赋值运算符
        • **=:幂赋值运算符
        • //=:取整除赋值运算符

        num = 0
        num += 1
        print(num)
        输出:1

    • 比较运算符
      • >、<、== 、!= 、>=、<=
      • 让计算机判断条是真还是假,是真就返回 True,否则返回 False
    • 逻辑运算
      • 与 (and)
        print('逻辑运算:',num1 == 0 and num2 == 0)
        代码说明:让计算机判断 num1 ==0 和 num2 == 0 两个条件是真还是假,都是真才返回 True,否则返回 False
      • 或(or)
        print('逻辑运算:',num1 == 0 or num2 == 0)
        代码说明:让计算机判断 num1 ==0 或者 num2 == 0 是真还是假,只要有一个是真的就返回 True,否则返回 False
      • 非(!)
        print('逻辑运算:',num1 != 0)
        代码说明:让计算机判断 num1 !=0 是真还是假,是真的就返回 True,否则返回 False

    二、字符串

    • 字符串定义
      • 定义单行字符串
        • 单引号
        • 双引号
      • 定义多行字符串
        • 三个单引号
        • 三个双引号
      • 空字符串
        str = ""
      • 转换成字符串
        str(object)
    • 字符串操作
      • 字符串访问
        • 顺序索引 0 开始
        • 倒序索引负 1 开始
      • 字符串切片

        字符串[起始索引,结束索引,步长]

        • 常用形式
          • 正序切片
            • 使用默认步长(1)
              string[start_index : stop_index]
            • 自定义步长
              string[start_index : stop_index : step]
            • 反转
              string[::-1]
          • 倒序切片
            [start_index : stop_index : step]
            起,未,步长都为必传,且都是负数
            • step>0 正数(或不传):表示正序切片
            • step<0(负数):表示倒序切(索引值也要为负数)
        • 注意点
          • 一个空格占一个索引位置

          • 正切默认起始索引 0,默认步长 1

          • 倒序切片默认起始索引-1,默认步长 1

          • 不写结束索引默认为字符串长度

          • 左闭右开(取起始索引的值,不取结束索引的值)

          • start_index : stop_index : step 超过列表索引值,返回空

          • step 参数中"+,-" 只是切片方式的标记,后面数字表示步长

          • 正序切片起始索引值必须小于结束索引值(建议记绝对值)

          • 正切就用正切的索引方式写索引(0 开始)

          • 倒序切就用倒序的方式写索引(-1 开始)

          • 代码演示
            """
            起始索引绝对值 > 结束索引绝对值
            正序:能取到值
            倒序:取不到值

            str_1[-3:-2]
            昨天说正序切片:起始索引绝对值 < 结束索引绝对值
            虽然能取到值,但是不好理解,这么说目的就是让大家不要用这种方式
            """
            str_1='123456789'
            str_2=str_1[-3:-2]
            str_3=str_1[-3:-2:-1]
            str_4=str_1[-1:2:-1]
            print('正序切片值:',str_2)
            print('倒序切片值:',str_3)
            print('倒序切片值:',str_4)
            输出:
            正序切片值: 7
            倒序切片值:
            倒序切片值: 987654

      • 字符串运算
        • 字符串拼接
          • “+”
        • 重复输出

      • 字符串转义
        • \n
      • 换行,打印字字符串过程中遇到 \n 会换行打印
        print('hello\npython')
        输出:
        hello
        python

        • \ 和 r
          • 在非特殊符号前面功能就是【续行符】
          • 在运算符或者特殊符号前面就是【关闭转义】
            • 打印\n

              print('\n')# r raw

              print(r'\n')
              \n# 打印引号

              print(""")
              print('"')
              输出:"

          • 打印空格
            print(\000)
      • \\

        • 单独打印一个反斜杠是打印不出“\”的会报错
          • 正确打印方式 # 通过转义打印

            print('\')

            \

          • 夹在字符串中间打印
            print('hello\hello')

      • 关闭转义(r)

        • 关闭转义,让等具有特殊意义的字符失效,按照原本的意思输出
          print(r'hello \n oython')
    • 字符串常用方法
      • 单词大小写相关
        • upper:所有字母大写
          string.upper()
        • lower:所有字母小写
          string.lower()
        • 其他方法(了解)
          • capitalize:整个字符串首字母大写
            string.capitalize()
            new_str='python'
            print(new_str.capitalize())
            输出:Python
          • title:每个单词首字母大写
            string.title()
            new_str='hello python'
            print(new_str.title())
            输出:Hello Python
          • swapcase:大小写互换
            string.swapcase()
            new_str='Hello Python'
            print(new_str.swapcase())
            输出:hELLO pYTHON
      • 统计相关
        • count:返回子字符串在字符串中出现的次数
          string.count(sub, start= 0,end=len(string))

          • sub:搜索的子字符串
            • start:字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为 0
          • end:字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置
          str_1='1233333456789'
          new_str=str_1.count('3',0,len(str_1))
          print(new_str)
          输出:5
        • find:默认只查询第一个字符串,如果包含子字符串返回查找到的第一个字符串索引值,否则返回-1
          string.find(str, beg=0, end=len(string))

          • str:指定检索的字符串
          • beg:开始索引,默认为 0
          • end:结束索引,默认为字符串的长度
          str_1='123456789'
          new_str=str_1.find('5',0,-1)
          print(new_str)
          4
        • rfind:返回字符串最后一次出现的位置,如果没有匹配项则返回 -1
          string.rfind(str,beg=0, end=len(string))

          • str:指定检索的字符串
          • beg:开始索引,默认为 0
          • end:结束索引,默认为字符串的长度
          str_1='hello python'
          new_str=str_1.rfind('o')
          print(new_str)
          10
        • 判断相关

          • string.isupper():判断字符串是否都是大写,返回布尔值
          • string.islower ():判断字符串是否都是小写,返回布尔值
          • string.isalnum():判断字符串是否由数字字母汉字组成,返回布尔值
          • string.isalpha():判断字符串是否由字母汉字组成,返回布尔值
          • string.isspace():判断是否有空格,返回布尔值
          • string.title():判断字符串是否每个单词首字母大写,返回布尔值
      • 拆分&替换
        • string.split(sep=None, maxsplit=-1):字符串拆分,默认空格拆分,可以指定字符切

          • sep:拆分字符
          • maxsplit=-1:最多进行多少次拆分,默认为-1 表示不做限制,0 表示不拆分
          • 拆分后的值作为一个 list 返回
          • 拆分过程中会丢弃拆分符号
            str="aafbbfccfddfee"
            new_str=str.split('f')
             ['aa','bb','cc','dd','ee']
        • string.join(iterable):将序列中的元素以指定的字符连接生成一个新的字符串

          • iterable:元组、列表、字典、字符串
          • string:iterable 内部元组间的连接符号
            # 用“-”连接
            new_string='-'.join(['I','love','python'])
            print(new_string)
             I-love-python
        • string.replace(old, new, count=None):替换字符串,返回替换后的字符串,不会修改原来的字符串
          • old:需要替换的字符
          • new:替换后的字符
          • count:需要替换的个数,非必填,如不填,默认全部替换
            str_1 = '1233333333456789'
            # old, new, count=None
            new_str = str_1.replace('3', 'A', 1)
            print(new_str)
            输出:12A3333333456789
        • 其他方法
          • string.splitlines(keepends=None):字符串拆分,按换行符进行拆分

            • \r:回车、\n:换行
            • keeppends(False) 在输出时是否去掉换行符(\r,\r\n,\n)默认 False,如果改为 True 则保留换行符
          • string.zfill(width):将 string 放右边,返回指定长度的字符串,长度不够在前面填充 0

            • width:返回字符串的长度
          • string.center(width, fillchar=None):将 string 放中间,返回指定长度的字符串,长度不够从字符串两边一起填充指定字符
            • width:返回字符串的长度
          • fillchar=None:指定填充字符,默认为 None,填充空格
          • string.rjust(width, fillchar=None) 返回指定长度的字符串,从字符串左边填充指定字符
            • width:返回字符串的长度
        • fillchar=None:指定填充字符,默认为 None,填充空格
      • string.ljust(width, fillchar=None) 返回指定长度的字符串,从字符串右边边填充指定字符
        • width:返回字符串的长度
        • fillchar=None:指定填充字符,默认为 None,填充空格
    • 字符串格式化输出

      • %(% 相当于占位符)
        • %s:格式化字符串

          # 字符串
          price = 'the price is %s' %('none')
          print(price)
          the price is none
          
          # 数值
          price = 'the price is %s' %(100)
          print(price)
          输出:the price is 100
          • 注意点
            • 当 %('test')中 test 传的不是 str 类型,是数字的时候,会将数字强制转换成 str
        • %d:格式化数值

          price = 'the price is %d' %(-100)
          print(price)
          输出:the price is -100
          • 注意点
            • 当 %(10)括号中传的不是整数类型,且无法强制转换成整数类型的时候,会报错
            • 当 %(10)括号中传的不是整数(int),是小数(float)的时候,会强制转换成整数,小数部分会被抹掉
        • %f:格式化浮点数

          • %f:不指定精度默认保留 6 位小数,无小数位就补 0
            price = 'the price is %f' %(100)
            print(price)
            输出:the price is 100.000000
          • %.2f:指定保留两位小数
            price = 'the price is %.2f' %(100)
            print(price)
            输出:the price is 100.00
        • 其他用法

          • 百分号"%",数字,点"."的用法
            • 数字在点前面:表示占多少个字符位置

              • 数字在点后面:表示保留几位小数
                """
                点前面的10表示该字浮点数前面占10个字符位置
                点后面的4表示该浮点数保留4位小数
                """
                print("this number is %10.4f" %(10.999)
                输出:this number is    10.9990
            • 横杠“-”的用法

              • 占位符数字前带杠(-)表示字符左对齐
              print ("Name:%-10s Age:%-8d Height:%-8.2f"%("Json",25,1.80))
              输出:Name:Json       Age:25       Height:1.80
              • 占位符数字前不带杠(-)表示字符右对齐
                print ("Name:%10s Age:%8d Height:%8.2f"%("Json",25,1.80))
                Name: JSON Age: 25 Height: 1.80
        • format()函数

          • 按顺序取值
            print("my name is {} age {}".format('老王',20))
            输出:my name is 老王 age 20
          • 按索引取值
            print("my name is {1} age {0}".format('老王',20))
            输出:my name is 20 age 老王
          • 按关键字取值
            print("my name is {name} age {age}".format(age=20,name='老王'))
            输出:my name is 老王 age 20
          • 调整精度
            # .表示在小数点后面进行运算
            print('{:.2f}'.format(12.123456))
            输出:12.12
          • 百分比格式化
            # . 表示在小数点后面进行运算
            print("percent is {:.3%}".format(0.67899))
            输出:percent is 67.899%
            
            print("percent is {:%}".format(0.67899))
            输出:percent is 67.899000%
            
            print("percent is {:3%}".format(0.67899))
            输出:percent is 67.899000%
          • 其他用法
            • 进制转换
              # b:二进制; o: 八进制;x:十六进制)
              print('{:b}'.format(10))
              输出:1010
            • 千位分隔符
              print("{:,}".format(1234536789))
               输出:1,234,536,789
        • f"{}"

          name='老王'
          age=20
          print(f"my name is {name} age:{age}")
          输出:my name is 老王 age 20



    作者:haili
    链接:http://testingpai.com/article/1617353212847
    来源:测试派
    协议:CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/

    学而不思则罔,思而不学则殆
  • 相关阅读:
    js的基本数据类型有哪些?
    页面优化的方式有哪些?
    为什么要用rem
    sass开发过程中遇到的几个坑
    js事件监听
    js数组去重的方法
    什么是怪异盒模型
    Cookie SameSite属性介绍及其在ASP.NET项目中的应用
    HttpServlet在第一个Servlet程序中的知识点
    Myeclipse 2017 创建第一个servlet步骤
  • 原文地址:https://www.cnblogs.com/linyu51/p/15736672.html
Copyright © 2020-2023  润新知