zoukankan      html  css  js  c++  java
  • 整型以及布尔值的转换 字符串详解

    整型以及布尔值转换

    整型 -- 数字 (int)

    整型(数字)用于比较和运算

    计算机支持的数字范围

    32位 ---2 ** 31 -1 ~ 2 ** 31 -1

    64位 ---2 ** 63 -1 ~ 2 ** 63 -1

    Python2和Python3在整型中的区别

    python2 整型 int -- long(长整型) /获取的是整数
    python3 整型 int / 获取的是浮点数(小数)

    二进制和十进制

    456  ----- 十进制数
    0101 ----- 二进制数
    除此之外还有:
    十六进制  八进制  二进制
    

    二进制和十进制的计算

    十进制转2进制:
    例:将15转换成2进制
    15    1
    
    7     1
    
    3     1
    
    1     1
    除以2取余,自下而上依次取余数,所以15的二进制数为1111
    
    24    0
    
    12    0
    
    6     0
    
    3     1
    
    1     1
    
    24的二进制数为11000
    186     0
    
    93      1
    
    46      0
    
    23      1
    
    11      1
    
    5       1
    
    2       0
    
    1       1
    
    186的二进制数为10111010
    
    print(bin(186))  # 十进制 -- 二进制
    
    二进制转十进制:
    10111010
    自右向左计算
    
    0*2**0 + 1*2**1 + 0*2**2 + 1*2**3 + 1*2**4 + 1*2**5 + 0*2**6 + 1*2**7=0+2+0+8+16+32+64=186
    
    print(int("10111010",2))  # 将二进制转换成十进制
    

    bool() 布尔值

    print(bool(1))  # 数字非零的就是True 零就是False
    
    print(bool("")) # 字符串不为空就是True(有空格也是不为空) ,字符串中没有任何内容就是False
    

    字符串详解

    在python中引号引起来就是字符串

    字符串是用来存储少量数据

    name = "m e a t" # meat 每一个字母叫做一个元素      
          # 0 1 2 3    从左向右     
          #-4-3-2-1    从右向左      
          # 索引(下标) 通过索引可以精确的定位到某个元素
    
    print(name[-1])   # t
    

    切片

    name = " 今天是个 好日子"
           # 0 1 2 3 4 5 6
           #-7-6-5-4-3-2-1
    a = name[0]        #今
    b = name[1]        #天
    print(a+b)         #今天
    
    print(name[0:2])   # 顾头不顾尾  name[起始位置:终止位置]
    print(name[:])     # 某个位置不指定的时候默认取最后或最前
    print(name[2:5])   # 是个好
    print(name[-4:-1]) # 个好日
    
    print(name[-2:-5])    # 输出为空
    print(name[-2:-5:-1]) # [起始位置:终止位置:步长] 步长默认为1
    

    例:

    name = "大黑哥吃大煎饼"
    print(name[1:5])        #黑哥吃大
    print(name[-2:-6:-1])   #哥吃大煎
    print(name[-6:6])       #黑哥吃大
    
    取第1.3.5.7位置的字
    a = name[0]
    b = name[2]
    c = name[4]
    d = name[6]
    print(a+b+c+d)
    运用步长:
    print(name[::2])       #步长为2,所以每两个取一个
    
    print(name[100:105])   #切片的时候起始位置和终止位置都超出的时候不会进行报错
    print(name[100])       #索引的时候索引值超出范围的时候会报错
    

    练习:

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

    字符串的方法:

    S系列

    s = "ALEX"
    s1 = s.upper() #全部大写
    print(s1)
    
    s1 = s.lower() # 全部小写
    print(s1)
    
    应用场景
    s = input("验证码(AbC5)")
    if s.upper() == "AbC5".upper():
        print("验证码正确")
    else:
        print("验证码错误!")
    
    以....开头:
    s = "ALEX"
    s1 = s.startswith("A") 
    print(s1)      #True
    
    s1 = s.startswith("E",2,6)
    print(s1)      #True
    
    以....结尾:
    s = "ALEX"
    s1 = s.endswith("X")
    print(s1)      #True
    
    统计
    s = "alexdxjbx"
    s1 = s.count("x")
    print(s1)      # 3
    
    脱: 字符串头尾两端的空格和换行符以及制表符
    n = input(">>>")
    if n.strip() == "alex":
        print("1")
    else:
        print("2")       #输入"  alex  "  输出"1"
    
    s = "alexdsba"
    s1 = s.strip("a") # 可以指定内容取脱
    print(s1)         # lexdsb
    
    
    分割:以空格和换行符以及制表符进行分割
    s = "aelxlaaa"
    s1 = s.split("l")  # 可以通过指定方式进行切割   
    print(s1)         # "ael","laaa"
    
    s = "aelxlaxaa"
    s1 = s.split("l",maxsplit=1)  # 存在多个可切割目标时,可用maxsplit来指定切割次数,maxsplit=1即切割次数为1
    print(s1)         # "ael","laxaa"
    
    s = "aelxlaxaa"
    s1 = s.rsplit("l",maxsplit=1)  # 存在多个可切割目标时,用maxsplit指定切割次数后,可在split前加"r"来更改切割优先方向
    print(s1)         # "aelx","laaa"
    
    
    替换:
    s = "大黑哥吃肉夹馍"
    s1 = s.replace("肉夹馍","大煎饼")
    print(s1)           # 大黑哥吃大煎饼
    
    s = "大黑哥吃肉夹馍,肉夹馍"
    s1 = s.replace("肉夹馍","大煎饼",1) # 指定替换的次数
    print(s1)           #大黑哥吃大煎饼,肉夹馍
    

    is系列

    s = "12.3"
    print(s.isalnum())     # 判断是不是字母,数字,中文print(s.isalpha())     # 判断是不是字母,中文print(s.isdigit())     # 判断字符串是不是全都是阿拉伯数字print(s.isdecimal())   # 判断是否是十进制
    

    for 循环

    print(len(name))     # 计算字符串的字符数量
    
    name =  "你好啊"
    count = 0
    while count < len(name):
        print(name[count])
        count += 1
    
    # 
    你
    好
    啊
    
    name = 你好啊
    for x in name:  # for循环
        print(x)
    
    #
    你
    好
    啊
    
    for 关键字
    i 是变量名
    in 关键字
    name 可迭代对象
    
    错误的示范:
    name = True
    for i in name:
        print(i) # 数据类型中只有整型和布尔值不能够进行for循环
    
  • 相关阅读:
    小白专场-堆中的路径-python语言实现
    小白专场-堆中的路径-c语言实现
    集合及运算
    哈弗曼树与哈夫曼编码

    线性结构之习题选讲-ReversingLinkedList
    小白专场-是否同一颗二叉搜索树-python语言实现
    微信公众平台开发教程第1篇-新手解惑(转)
    GIT GUI的使用(转)
    Git操作指南(2) —— Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并(转)
  • 原文地址:https://www.cnblogs.com/beichen123/p/11155118.html
Copyright © 2011-2022 走看看