zoukankan      html  css  js  c++  java
  • Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈

     python 的数据类型:

    1、int:存放 1,2,3 等数据 ,用于数字的运算

    2、bool :True, False 用于判断

    3、str:字符串,用来存储少量的数据

    4、list : 数组的形式 存储 数据 ,例如 [1,2,3,"123",[1,2]]

    5、元组:只能读,不能修改,(1,2,“12”)

    6、集合:{1,2,‘asd’}

    7、dict:字典 {‘天气’:‘晴’,‘风速’:12}

     一、int bool str的数据类型的相互转化

    #int  ---> str
    i = 1
    s =str(i)
    
    #str ---> int
    s = '123'
    i = int(s)
    
    #int --> bool  只要是0 ---》False 非0就是 True
    i=3
    b=bool(i)
    print(b)  #True
    
    # >bool  ---> int 
    # True == 1
    #False -- 0
    
    '''
    ps:
    while True :
        ...
    while 1 ; 效率高
        ...
    
    '''

    # str --> bool
    s = ""
    print(bool(s)) #False

    s = "0"
    print(bool(s)) #True

    # bool-->str

    print(str(True) #True

    、int类型的主要方法:

    bit_length()方法:

    i = 100
    print(i.bit_length())  #7
     
    ''''
    数字     二进制       bit_length值
    1        0000 0001     1
    2        0000 0010     2
    3        0000 0011     2
    '''
    

      

      三、str 的操作,切片

    s = 'ABCDLSESRF'
    
    # 索引
    s1 = s[0]
    print(s1)             #A
    
    s2 = s[-1]
    print(s2)             #F
    
    #得到ABCD 切片:顾头不顾尾
    s3 = s[0:4]
    print(s3)     #ABCD

    s6 = s[0:-1]
    print(s6) #ABCDLSESR

    s7 = s[:]
    print(s7) #ABCDLSESRF
    s8 = s[0:]
    print(s8) #ABCDLSESRF
    s9 =s[0:0]
    print(s9) #空的字符串

    #[头:尾:步长(默认为1)]
    s10=s[0:5:2]
    print(s10) #ACL
    s11 = s[4:0:-1]  
    print(s11) #LDCB
    s12 = s[4:0]  
    print(s11) #空的字符串
    s13=s[3::-1]
    print(s13) #DCBA

      四、str 的方法

    #1、capitalize 的方法 ,将str首字母大写,其他小写
    xx='hello world!!'
    xx = xx.capitalize()
    print(xx)    # Hello world!!
    
    #2、
    的方法,将str所有字母 变成大写 ,lower,将str所有字母变成小写
    s1 = xx.upper()
    print(s1)  #HELLO WORLD!!
    
    #3、swapcase  将str 的字母 大小写反转
    
    #4 title 将 特殊符号分割的第一个字母 大写  符号有 ' ','#','!','*','_'
    xx='hello world!lol*byebye_pop'
    s2 = xx.title()
    print(s2)  #Hello World!Lol*Byebye_Pop
    
    #5 居中 自定义字符补充
    s= "alex"
    s5 = s.center(10,'#')
    print(s5)   #   ###alex###
    
    #6 将制表符 变成4个空格
    s= "al	ex"
    s6 = s.expandtabs()
    print(s6)  # al      ex

    五、一些公共 的方法

    #得到图片的长度

    s= "abCdefGh"
    s7 = len(s)
    print(s7)  # 8
    
    

      

     #判断字符串以什么 开头

    s= "abCdefGh"
    print(s.startswith('ab')) # True
    s= "abCdefGh"
    print(s.startswith('a' ,0)) # True
    s= "abCdefGh"
    print(s.startswith('b' ,1 ,2)) # True
    

      

     #判断字符以什么结尾 endwith

    s= "abCdefGh"
    print(s.endswith('h')) # True
    print(s.endswith('h' ,-1 )) # True
    print(s.endswith('G' ,-3 ,-1)) # True

    #  通过元素找索引 find 找不到返回 -1  index 找不到报错

    s= "abCdefGh"
    print(s.find('C'))  #2
    print(s.find('z'))  #-1
    
    # print(s.index('C'))  #2
    print(s.index('z'))  #   print(s.index('z'))  #-1 ValueError: substring not found
    

    # strip 删除字符串前后空格

    s = ' abcdefg '
    print(s.strip()) #abcdefg
    
    s = '%abcdefg%'
    print(s.strip('%')) #abcdefg
    
    s = '*abcdefg%'
    print(s.strip('*%')) #abcdefg
    

      


    # count 统计字符串中出现的 指定字符的个数

    s = 'abcdefga'
    print(s.count('a')) #2
    

      

     #  split  将字符串根据指定字符 切成数组 和java类似

    s = 'abcdaefga'
    l =s.split('a')
    
    for i in range(l.__len__()):
      print(l[i])
    
    
    ##---------------------
    
    
    s = 'abcdaefga'
    l =s.split('a')
    
    for i in range(len(l)):
      print(l[i])

    # format 的 三种玩法

     s = '我叫 {} ,今年 {} ,爱好{} ,再说一遍 ,我叫{}'.format('小白',36,'basketball','小白')
     print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白
    
     s = '我叫 {0} ,今年 {1} ,爱好{2} ,再说一遍 ,我叫{0}'.format('小白',36,'basketball')
     print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白
    
     s = '我叫 {name} ,今年 {age} ,爱好{hobby} ,再说一遍 ,我叫{name}'.format(age=18,name='小白',hobby='basketball')
     print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白 

     

     # replace

    s = '我是谁'
    print(s) #我是谁 print(s.replace('我','你')) #你是谁

      

     is系列

    name1 ="22aaa2";
    name2 ='8888'
    name3='aaaaaa'
    print(name1.isalnum())    #字符串由字母和数组组成
    print(name2.isalpha())    #字符串只由字母组成
    print(name3.isdigit())    #字符串只由数组组成
    

      

     in的用法1 字符串遍历

    s1 ="22aaa2";
    for i in s1 :
        print(i)
    

     

    in的用法2  判断是否包含 

    s1 ="22苍老师aaa2";
    if '苍老师' in s1 :
        print("有敏感词")
    
    
       
  • 相关阅读:
    TF-IDF与余弦类似性的应用(一):自己主动提取关键词
    三层中的大学问
    浅析JavaBean
    查看和改动MySQL数据库表存储引擎
    菜鸟之路--线性表__链表实现
    STL_算法_元素计数(count、count_if)
    ZOJ 3691 Flower(最大流+二分)
    字符的编码与解码
    主动訪问用户数据的背后是品牌战略
    输入n,求1~n累加
  • 原文地址:https://www.cnblogs.com/xibanqiu/p/11530643.html
Copyright © 2011-2022 走看看