• 整型,布尔值,字符串详解,for语句


    整型 —— 数字

    • 用于比较和计算

    • + - * / //

    • python 2 int ——— long (长整型) /获取的是整数

    • Python3 int———整型 / 获取的浮点数

    • 二进制 ——— 就是由 0 和 1 组成

      十进制往二进制的转化是短除法

      商 余数

      15 1

      7 1

    ​ 3 1

    ​ 1 1

    • 那么 15 用二级制表示就是 1111(从下往上计算) 比如 21 是从下往上 10101

    • 程序输出

    • print(bin())

    • 结果 0b10101

    • 0b 代表二进制 bin 将十进制转化为二进制

    • 二进制转化为十进制####

    • 111000(从右往左计算) : 0*2**0 + 0*2**1 + 0*2**2 +1*2**3 + 1*2**4 +1*2**5 = 8 + 16 + 32 = 56

      print(int("10101",2))这个 2 的意思是将二进制转化为十进制

      bool () 布尔值

      print(bool( )) 数字非0的就是 True ,0 就是 False

      print(bool( )) 字符串不空的都是 True 啥也没有就用 False

      字符串讲解

      定义:在 python 中,引号引起来的就是字符串,字符串用来存储少量数据

      索引(下标)

      name = "meet"     #meet 每一个字母叫做一个元素
      
              0123      #从左往右数  0123
            -4-3-2-1    #从右往左数  -4-3-2-1 
            print(name[2])  这个 2 就是所谓的查找元素
      
    • name = "今天是个好日子"
      a = name [0]
      b = name [1]
      print(a + b)
      #今天
      

    切片

    name = "今天是个好日子"
    print(name[0:2])       # 顾头不顾尾   name[起始位置:终止位置]   结果:今天
    print(name[2:])        #某个位置不指定,默认取最前或者最后        结果; 是个好日子
    print(name[:])         #直接输出全部                           结果:今天是个好日子
    print(name[-2:-5])     #运行不了  默认的运行顺序是从左往右  -5 的位置是在-2 的前面,下面的这一行就可以运行
    print(name[-5:-2])     #顺序对了  就可以了
    print(name[-2:-5:-1])  #这是从右往左运行,用步长改变一下方向
    
    name = "大黑哥吃大煎饼"
    print(name[0:6:1])   #默认步长是 1    结果:大黑哥吃大煎
    print(name[0::2])    # 从开始到最后  步长为 2  结果:大哥大饼
    print(name[1:105])   #结果的位置可以超,不影响最终结果  结果为 黑哥吃大煎饼
    print(name[100:105]) #起始位置和终止位置都超出不会报错
    print(name[100])     #索引的时候  索引值超出范围会报错
    

    练习

    # s = 'Python最NB'
    # #获取s字符串中前3个内容
    # print(s[0:3])
    # #获取s字符串中第3个内容
    # print(s[2])
    # #获取s字符串中后3个内容
    # print(s[-3:])
    # #获取s字符串中第3个到第8个
    # print(s[2:8])
    # #获取s字符串中第2个到最后一个
    # print(s[1:])
    # #获取s字符串中第1,3,5个内容
    # print(s[0:6:2])
    # #获取s字符串中第2,4,6个内容
    # print(s[1:7:2])
    # #获取s字符串中所有内容
    # print(s[:])
    # #获取s字符串中第4个到最后一个,每2个取一个
    # print(s[3::2])
    # #获取s字符串中倒数第5个到最开始,每3个取一个  
    # print(s[-5:0:-3])
    

    字符串的方法

    字母大写或小写

    s = "alex"
    s1 = s.upper()   # 全部大写  中文   数字   不可以
    print(s1)
    #ALEX
    
    s = "alex"
    s1 = s.lower()   #全部小写  应用场景的话就比如用户输入验证码
    print(s1)
    #alex
    

    应用场景

    s = input("请输入验证码(AbC5)")
    if s.upper() == "AbC5".upper():  #将你输入的内容转化为大写 最后的结果正确  小写也类似
        print("验证码正确")
    else:
        print("验证码错误")
    

    以什么开头(s.startswith)

    s = "alex"
    s1 = s.startswith("a",0,3)   # 0是所在位置   4 是终止位置
    print(s1)
    # True      若是"A"输出的就是 false
    

    以什么结尾

    s = "Alex"
    s1 =s.endswith("x")  #s1 =s.endswith("x",3,4)
    print(s1)
    # True
    

    统计(统计出现的次数)

    s = "alexdjbx"
    s1 = s.count("x")
    print(s1)
    #2
    

    :主要脱去字符串头尾两端的空格和换行符以及制表符(主要为了解决用户在输入的过程中会出现空格啥的)

    s = "   alex   "
    n = input(">>>")
    if n.strip() == "alex":
        print("输入正确")
    else:
        print("输入错误")
    

    并且可以指定内容脱去

    s = "alexdsb"
    s1 = s.strip("a")
    print(s1)
    #lexdsb
    

    分割:以空格和换行符以及制表符进行分割

    s = "a  l  e  x"
    s1 = s.split()
    print(s1)
    #['a', 'l', 'e', 'x']    分割之后变成列表
    

    ​ 可以通过指定方式进行分割(右分割s.rsplit 左分割 s.lsplit)

    s = "a  l  e  x"
    s1 = s.split("l")
    print(s1)
    
    #  ['a  ', '  e  x']   以l为分割的点   之后的就不再出现
    

    替换

    s = "大黑哥吃肉夹馍"
    s1 = s.replace("肉夹馍","大煎饼")
    print(s1)
    #大黑哥吃大煎饼
    
    s = "大黑哥吃肉夹馍"
    s1 = s.replace("肉夹馍","大煎饼",1)  # 1 代表的是替换次数 
    print(s1)
    #大黑哥吃大煎饼
    

    is 系列

    s = "a177你好ex"
    print(s.isalnum())  #判断是不是字母,数字, 中文
    print(s.isalpha())  #判断是不是字母,数字
    print(s.isdigit())  #判断是不是全部都是阿拉伯数字
    print(s.isdecimal()) #判断是否是十进制  (12.3)不可以
    #
    True
    False
    False
    False
    
    

    Len 长度 获取对象的长度

    name = "你好啊"
    print(len(name))
    # 3
    
    name = "你好啊"
    count = 0
    while count < len(name):
        print(name[count])
        count += 1
    

    for 语句

    name = "你好啊"
    count = 0
    while count < len(name):
        print(name[count])
        count += 1
    
    name = "你好啊"
    for i in name:    #  i把元素都经历了一遍,但是最后的时候必须出牌了  所以是最后一个
        pass
    print(i)
    
    name = "alex"
    for x in name:
      print(x)
     print(x)
    

    格式

    for 变量 in 可迭代对象:

    print(变量) (变量可以进行修改)

    name = "Alex"   # 这里换成"123", True  数据类型中,数字和布尔值不能用 for 循环
    for i in name:
        print(i)
    

    总结:
    整型和布尔值的转换

    bin---十进制转二进制

    int("1101",2)--二进制转十进制

    十进制转二进制算法:

    ​ 除2 取余,获取的值从下往上进行计算

    二进制转十进制

    从右向左,依次乘以2的次方(从0次方开始)

    python2 与python int /区别

    字符串方法:

    0 1 2 3 从左向右

    -4 -3 -2 -1 从右向左

    通过索引可以精确定位元素

    切片

    步长: 默认为1,通过步长决定方向和查找迈的步子

    字符串方法

    upper 全部大写
    lower 全部小写
    startswith 判断开头是什么
    endswith判断结尾是什么
    count 统计个数
    strip 脱:头尾两端的空格、换行以及制表符,可以的指定
    split 分割:以空格换行符以及制表符进行分割,可以指定切割次数
    replace 替换:第一个旧的值,第二个是新的值,可以指定次数
    isdigit 判断是不是阿拉伯数字
    isdecimal判断是是不是十进制数
    isalnum判断是不是字母、数字、中文
    isalpha 判断是不是中文、字母
    for循环

    for 变量 in 可迭代对象

    ​ print(变量)

    变量可以自己修改

    len获取字符串的长度

    面试:

    for in “alex”:

    ​ pass

    print(in)

    结果是x

  • 相关阅读:
    adb shell am force-stop <package>
    推荐一个代码生成工具:freemarker
    子控件跟着父控件变色
    sqlite支持的数据库类型
    android 资源文件
    一个手机基础信息的获取代码
    二维码的开源项目
    在点击HOME键时, 在点击icon回到原来的应用。
    Wireshark "The NPF driver isn’t running…"
    .atomic vs volatile
  • 原文地址:https://www.cnblogs.com/hualibokeyuan/p/11152958.html
Copyright © 2020-2023  润新知