zoukankan      html  css  js  c++  java
  • Python基础学习Day3 数据类型的转换、int、str、bool、字符串的常用方法、for循环

    一、数据类型的转换

    常用的是:int 转str、str转int。int转bool 时   非零即为 True 。

    # 数据类型之间转换  *****
    # int <--> str   str(int)   int(str)
    # int ---> bool   : 非零即为True,零即为False,  True ---> 1 False ---> 0
    # bool --->str :
    # print(bool('Alex'))  --->True
    # 空字符串 ---> bool False
    # s1 = ''        空字符串不是指空格
    # print(bool(s1))     # 非空即为True

    二、数字int

    数字主要是用来计算、计数、运算的,使用方法并不是很多,就记住一种就可以:

    # 查询十进制转化成二进制时占用的最小位数
    i = 2
    print(i.bit_length()) # 查询十进制转化成二进制时占用的最小位数

    三、布尔值bool

    布尔值就两种:True,False。就是反应条件的正确与否。

    真   1   True。

    假   0   False。   

    四、字符串Str的用法

     4、1字符串的索引

     索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。

    # 字符串的索引
    s1 = 'abcdefg'
    print(s1[0])
    print(s1[3])
    print(s1[5])

    输出结果为:

    a d f

    4、2字符创的切片

    切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚)。

    # 字符串的切片
    s1 = 'abcdefg'
    print(s1[0:3])
    print(s1[2:5])
    print(s1[0:])     # 默认到最后
    print(s1[0:-1])    # -1就是最后一位
    print(s1[0:5:2])   # 加步长
    print(s1[5:0:-2])  # 反向加步长

    结果为:

    abc
    cde
    abcdefg
    abcdef
    ace
    fdb

    4、3字符串的常用方法

     # 首字母大写
    name = 'oldBoy'
    print(name.capitalize())   # 首字母大写
    # center 字符串居中前后填充自定义的字符  **
    name = 'oldBoy'
    print(name.center(20,'*'))
    # upper 全大写  lower  全小写
    name = 'oldBoy'
    print(name.upper())
    print(name.lower())
    print(name)
    # startwith   endwith
    name = 'oldBoy'
    print(name.startswith('o'))
    print(name.startswith('ol'))
    print(name.startswith('B', 3))          # 查看索引为3的位置是否为B
    print(name.startswith('ld', 1, 5))      # 查看索引为1-5的位置是否有 ld
    print(name.startswith("oldBoy"))        # 结果都为 True
    # swapcase 大小写翻转 **
    name = 'oldBoy'
    print(name.swapcase())
    
    结果为
    OLDbOY
    # title 非字母隔开的每个部分的首字母大写  **
    # print(name.swapcase())
    s1 = 'alex wusir*taibai6nvshen'
    print(s1.title())     # title 非字母隔开的每个部分的首字母大写  **
    
    结果为
    Alex Wusir*Taibai6Nvshen
    # title 非字母隔开的每个部分的首字母大写  **
    # print(name.swapcase())
    s1 = 'alex wusir*taibai6nvshen'
    print(s1.title())     # title 非字母隔开的每个部分的首字母大写  **
    
    结果为
    Alex Wusir*Taibai6Nvshen
    # find 通过元素找索引,找到第一个就返回,没有找到此元素就返回-1 *****
    # index 通过元素找索引,找到第一个就返回,没有找到次元素就报错  *****
    name = 'oldBoy'
    print(name.find('B'))
    print(name.find('ld'))
    print(name.find('o'))
    print(name.find('o', 1, -1))
    # print(name.index('q'))
    
    结果为:
    3
    1
    0
    4
    报错

     4.4 字符串的重要用法

    (1)strip()函数

    name = '	    oldboy
    '
    print(name.strip())          # strip 默认去除字符串前后的空格,换行符,制表符  *****
    name1 = '*alex**'
    name2 = 'weralexwqwe'
    print(name.strip())               #oldboy
    print(name1.strip('*'))           #alex
    print(name2.strip('erw'))         #alexwq  

     (2) split()函数

    # split  # 将字符串分割成列表(str---> list)
    s1 = 'alex wusir taibai'
    l1 = s1.split()           # 默认按照空格分隔
    print(l1)                  # ['alex', 'wusir', 'taibai']
    s2 = 'alex,wusir,taibai'
    print(s2.split(''))       # ['alex', 'wusir', 'taibai']
    s3 = ',alex,wusir,taibai'
    print(s3.split(','))
    s4 = ' alex wusir taibai'
    print(s4.split(' '))
    s5 = 'alexlwle'
    print(s5.split('l',1))     # 可设置分割次数

    (3)jion()函数

    str1 = 'alex'
    # join 自定制连接符,将可迭代对象中的元素连接起来 *****
    s2 = '*'.join(str1)
    s2 = '_'.join(str1)
    print(s2)

    (4)replace()函数

    str2 = 'alex 是创始人,alex很nb,alex ....'
    # replace  *****
    s3 = str2.replace('alex','SB')  #SB 是创始人,SB很nb,SB ....
    # s3 = str2.replace('alex','SB',1)  # 替换次数可设置
    print(s3)

    (5)format()函数  格式化输出

    s1 = '我叫{},今年{},性别{}'
    # 三种方式
    # 第一种
    s2 = '我叫{},今年{},性别{}'.format('太白','28','') # 我叫太白,今年28,性别男
    print(s2)
    # 第二种
    s3 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('太白', '28', '')
    print(s3)
    # 第三种
    s4 = '我叫{name},今年{age},性别{sex}'.format(age='28', name='太白', sex='')
    print(s4)

    (6)is系列

    name = 'taibai'
    name1 = 'a123'
    print(name.isalnum())  # 数字或字母组成
    print(name1.isdigit())  # 判断全部是由整数组成
    print(name.isalpha())  # 全部由字母组成

    (7)公共方法  count()函数 与  len ()函数

    name = 'alexaaa'
    print(name.count('a'))  # 有切片
    print(len(name))

     5、for 循环

    s1 = 'fdjsafjsdkla' # 循环打印s1的每个字符
    for i in s1:
        print(i)
  • 相关阅读:
    2016年回家的大概经过
    [转载][记录]shell 批量修改文件名
    Tinymce4 中Ajax多次加载时,会出现菜单在第二次进入时,显示的下拉菜单在左上角
    PHP生成HTML页面顶部出现空白部分(&#65279字符?)
    tcpdf MultiCell line break
    [转载][记录]javascript生成不重复的随机数
    [转载]PHP 字符串替换中文
    PHP 使用get_class_methods()和array_diff() 兩個相同的類中方法差集
    mysql datetime 排序
    highcharts 去掉右下角链接
  • 原文地址:https://www.cnblogs.com/youhongliang/p/9432174.html
Copyright © 2011-2022 走看看