• 基础数据类型(int,str,bool)


    一 python 中的基础数据类型

    1.int  数字类型(整数类型)  主要用来数学计算

    2.str  字符串   可以保存少量数据进行操作

    3.bool  布尔值  判断真假   True  False

    4. list  列表  保存大量数据  用 []  表示

    5. tuple 元祖  不可以放生改变  用(,) 表示

    6.dict   字典    以 键值对的形式 存放 ,可以保存大量数据  用{key:value} 表示   ,key 是可hash 的,就是不可变的对象

    7. set  集合   用{} 表示  ,不可以重复  , 去重最快的办法, 不保存 value 的 字典

    (1) int (整数)

           在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.
    在python3中不存在long类型

    整数可以进行的操作:
          bit_length(). 计算整数在内存中占用的二进制码的长度

    (2) 布尔值(bool)

     布尔值 只有  True  False

    转换问题:

      str => int    int(str)

      int => str    str(int)

      int => bool    bool(int)   0是 False   非0 就是 True

      str = > bool    bool(str)  空字符串 就是 False  非空就是 True

      bool => str    str(bool)  把 bool 值转换成相对应的 "值"

    print(int(False))  # 0
    print(int(True))    # 1
    print(str(bool))    # <class 'bool'>
    print(type(bool))   # <class 'type'>
    print(str(False))   #  False
    print(str("False")) #   False

    (3) 字符串   把字符连成串, python 中 用 ' ',"",""" """ ,引起来的内容称为字符串

    a.索引, 索引就是下标,从0开始

    #     0123456 7 8
    s1 = "python最牛B"
    print(s1[0]) # 获取第0个
    print(s1[1])
    print(s1[2])
    print(s1[3])
    print(s1[4])
    print(s1[5])
    print(s1[6])
    print(s1[7])
    print(s1[8])
    # print(s1[9]) # 没有9, 越界了. 会报错
    print(s1[-1]) # -1 表示倒数.
    print(s1[-2]) # 倒数第⼆个

    b, 切片 

    语法: str[start:end:step] 从start 开始 到 end 结束,每 step 取 一个

    规则: 顾头不顾尾    start 可以取到,但是 end 是 取 不到的

    print(s2[0:3]) # 从0获取到3. 不包含3. 
    print(s2[6:8]) 
    print(s2[6:9]) # 最⼤是8. 但根据顾头不顾腚, 想要取到8必须给9
    print(s2[6:10]) # 如果右边已经过了最⼤值. 相当于获取到最后
    print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给.
    print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数.     
                             #  你怎么数也数不到-5
    print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢?
    print(s2[-5:]) # 什么都不写就是最后了
    print(s2[:-1]) # 这个是取到倒数第一个
    print(s2[:]) # 原样输出
         
    View Code
    # 跳着取, 步长
    print(s2[1:5:2])        # 从第一个开始取, 取到第5个,每2个取1个
    print(s2[:5:2])          # 从头开始到第五个. 每两个取一个
    print(s2[4::2])          # 从4开始取到最后. 每两个取一个
    print(s2[-5::2])         # 从-5取到最后.每两个取一个
    print(s2[-1:-5])         # -1:-5什么都没有. 因为是从左往右获取的.
    print(s2[-1:-5:-1])     # 步长是-1. 这时就从右往左取值了
    print(s2[-5::-3])        # 从倒数第5个开始. 到最开始. 每3个取一个

    c . 字符串的相关操作 

    # 1.大小写转换
    s = "hAHagE" s.capitalize() print(s) ## hAHagE 发下并没有改变,因为字符串本身是不会发生改变的 ret = s.capitalize() print(ret) ## Hahage 首字母大写,其余的都是小写
    # 2. 大小写的转换
    
    s = "asdASkjJJHkj"
    ret = s.upper()
    print(ret)      #  ASDASKJJJHKJ  全部变成大写
    
    s = "asdASkjJJHkj"
    ret = s.lower()  # 对 东欧的一些字母 支持不够好
    print(ret)      # asdaskjjjhkj 全部变成 小写
    
    ##  应用, 检验用户输入的  验证码是否 合法 
    3.大变小 小变大
    
    s = "asdASkjJJHkj"
    ret = s.swapcase()
    print(ret)           #   ASDasKJjjhKJ  大小写互换 大变小  小变大
    4.变成小写
    
    s = "asdASkjJJHkj"
    ret = s.casefold()
    print(ret)           #   asdaskjjjhkj 全部变成 小写
    
    #  和 lower 的区别,lower() 对某些字符支持不够好,比如东欧的
    ##   casefold() 对所有的字符都有效
    5.每个被特殊字符隔开的字母的首字母大写
    
    
    s = "as哈哈dAS_kj,sa   ds*ad/sadJJHkj"
    ret = s.title()
    print(ret)           #  As哈哈Das_Kj,Sa   Ds*Ad/Sadjjhkj
    
    ###  中文也算特殊字符
    6.居中
    s = "哈哈哥"
    ret = s.center(5,"*")
    print(ret)           #  *哈哈哥*  把 s 拉长 到 5 个位置,然后放中间
    7.更改 tab 的长度
    
    
    s = "哈哈	哥"
    ret = s.expandtabs()
    print(ret)           #   哈哈      哥    可以改变 	 的长度,默认更改为 8
    8. 去空格
    
    s = "            哈哈哥          "
    ret = s.strip()
    print(ret)           #   哈哈哥   去掉 两边的 空格
    
    s = "asjjdjjb"
    ret = s.strip("ab")
    print(ret)    #   sjjdjj     也可以去掉 字符串 左右两边的 元素
    
    ret = s.lstrip()        # 去掉 左边的 空格
    ret = s.rstrip()        #  去掉 右边的 空格
    9. 替换 指定的元素
    
    s = "hahage_嘻嘻姐_呵呵"
    
    ret = s.replace("hahage","哈哈哥")
    print(ret)                         #   哈哈哥_嘻嘻姐_呵呵


    s = "hahage_嘻嘻姐_呵呵,呵呵笑死了"

    ret = s.replace("呵呵","哈哈哥",2)
    print(ret) # hahage_嘻嘻姐_哈哈哥,哈哈哥笑死了 替换 2 个
     
    10 字符串 切割
    
    s = "hahage_嘻嘻姐_呵呵,呵呵笑死了"
    
    ret = s.split(",")
    print(ret)       #   ['hahage_嘻嘻姐_呵呵', '呵呵笑死了']  切完就是个列表
    
    
    注意.注意.注意:
    
    
    s = "哈哈哥_嘻嘻姐_呵呵,呵呵笑死了哈哈"
    
    ret = s.split("哈哈")
    print(ret)          # ['', '哥_嘻嘻姐_呵呵,呵呵笑死了', '']
    
    ### 如果切割符在 左右 两端,那么一定会出现 空 字符串
    11 格式化 输出
    
    s1 = "我叫%s,今年%s岁了,我喜欢 %s." % ("哈哈哥","25","张敏") # 之前写法,个人比较喜欢
    
    s2 = "我叫{},今年{}岁了,我喜欢{}".format("哈哈哥",25,"邱淑贞") # 按位置格式化
    
    s3 = "我叫{2},今年{0}岁了,我喜欢{1}".format(25,"朱茵","哈哈哥")# 指定位置
    
    
    name = "哈哈哥"
    age = 20
    girl_name = "嘻嘻姐"
    s4 = f"我叫{name},今年{age}岁了,我喜欢{girl_name}"
    12 以什么开头,用 s.startswith(元素)       
    
    s = "我叫哈哈哥,我今年20岁了,我喜欢的女明星是嘻嘻姐"
    
    ret = s.startswith("哈哈哥")
    print(ret)                      ## False
    
    ret = s.startswith("")
    print(ret)                     ##  True

    13  以什么结尾 用  s.endswith(元素)
    ret = s.endswith("姐")
    print(ret) ## True

    14 元素出现的 次数

    ret = s.count("哈")
    print(ret) ## 2


    15 查找 元素 索引 的位置

    ret = s.index("哈哈")
    print(ret) ## 2 求索引 找不到会报错

    ret = s.find("哈哈")
    print(ret) # 2

    ret = s.find("哈哈姐")
    print(ret) ## -1 找不到返回 -1

    ret = s.find("哈哈哥",1,12)
    print(ret) ## 2 切片找
    16 条件判断  
    # 条件判断
    s14 = "123.16"
    s15 = "abc"
    s16 = "_abc!@"
    
    # 是否由字母和数字组成
    print(s14.isalnum())
    print(s15.isalnum())
    print(s16.isalnum())
    
    # 是否由字母组成
    print(s14.isalpha())
    print(s15.isalpha())
    print(s16.isalpha())
    
    # 是否由数字组成, 不包括小数点
    print(s14.isdigit())
    print(s14.isdecimal())
    print(s14.isnumeric())     # 这个比较牛B. 中文都识别.
    print(s15.isdigit())
    print(s16.isdigit())
    17.计算 字符串的长度    len()
    
    s = "我叫哈哈哥,我今年20岁了"
    ret = len(s)
    print(ret)              ##   13
    
    
    注意:
             len 是 python 中的内置函数
    18  迭代 
    
    我们可以使用 for 循环 来获取 字符串的 每一个 字符
    
    语法:
            for 变量 in 可迭代对象:
                    pass
    
    可迭代对象  就是一个一个可以 往外 取值的 对象



    s = "我叫哈哈哥,我今年20岁了"

    while 循环:

    index = 0
    while index < len(s):
    print(s[index]) ## 利用切片索引 来完成 字符串的 查找
    index += 1


    for 循环:

    for i in s:
    print(i)
     
  • 相关阅读:
    POCO库——Foundation组件之日期时间DateTime
    POCO库——Foundation组件之加解密Crypt
    POCO库——Foundation组件之缓存Cache
    POCO库——Foundation组件之核心Core
    POCO库——Foundation组件概述
    HP-SOCKET TCP/UDP通信框架库解析
    Notepad++ 使用nppexec插件配置简易开发环境
    Duilib源码分析(五)UI布局—Layout与各子控件
    Breakpad Google的crash捕获、抓取开源库
    Pugixml一种快速解析XML文件的开源解析库
  • 原文地址:https://www.cnblogs.com/wenqi2121/p/10225400.html
Copyright © 2020-2023  润新知