zoukankan      html  css  js  c++  java
  • 数据类型之间转化、字符串学习

    数据类型之间的转化

    int<-->str

    int转str:str(digit)
    str转int:int(string) 注意此处的string只能是包含数字的字符串或开头有负号
    

    int<-->bool

    bool(非零)-->True
    bool(零)  -->False
    int(True) -->1
    int(False)-->0
    

    bool<-->str

    bool -->str没有实际意义
    str  -->bool:
    bool(非空字符串) --> True
    bool(空字符串)   --> False
    注意:空字符串为'',而不是' '。
    

    python的字符串(string)的学习

    第一部分:索引切片步长

    按照索引取值,取出来的都是一个字符,形成的字符串。

    >>> str1 = 'python'
    >>> str1[2]
    't'
    >>> str1[-1]
    'n'
    

    按切片取值,顾头不顾尾

    >>> str2 = 'python'
    >>> str2[0 : -1]
    'pytho'
    >>> str2[0:]
    'python'
    

    按照切片+步长

    >>> str3 = 'python is a language'
    >>> str3[::2]
    'pto salnug'
    >>> str3[::-1]
    'egaugnal a si nohtyp'
    当步长为负时,是倒着取值。
    

    另外可以借助数组来实现把字符串倒序

    strA = input("请输入需要翻转的字符串:")
    order = [] 
    for i in strA:
      order.append(i)
    order.reverse()   #将列表反转
    print ''.join(order)    #将list转换成字符串
    
    

    第二部分:字符串的常用方法。

    capitalize() 首字母大写 ★★☆☆☆

    >>> str4 = 'hellokitty'
    >>> str4.capitalize()
    'Hellokitty'
    

    center() 字符串居中前后填充自定义的字符 ★★☆☆☆

    >>> str4 = 'hellokitty'
    >>> str4.center(20, '*')
    '*****hellokitty*****'
    

    upper()英文全大写;lower()英文全小写。 在验证码验证上会使用到。 ★★★★★

    >>> str4 = 'hello kitty'
    >>> str4.upper()
    'HELLO KITTY'
    
    >>> str5 = 'Hello Kitty'
    >>> str5.lower()
    'hello kitty'
    

    swapcase() 大小写翻转 ★★☆☆☆

    >>> str5 = 'Hello Kitty'
    >>> str5.swapcase()
    'hELLO kITTY'
    

    title() 非字母隔开的每个部分的首字母大写 ★★☆☆☆

    >>> str6 = 'hello kitty,what can I do4you?'
    >>> str6.title()
    'Hello Kitty,What Can I Do4You?'
    

    startswith()以什么弄着 endswith()以什么结尾 ★★★★★

    >>> str6 = 'hello kitty,what can I do4you?'
    >>> str6.startswith('h')
    True
    >>> str6.startswith('hello')
    True
    

    find 通过元素找索引,找到第一个就返回,没有此元素则返回-1 ★★★★★

    >>> str6 = 'hello kitty,what can I do4you?'
    >>> str6.find('h')
    0
    >>> str6.find('what')
    12
    >>> str6.find('.')
    -1
    

    index 通过元素找索引,找到第一个就返回,没有此元素则报错 ★★★★★

    >>> str6 = 'hello kitty,what can I do4you?'
    >>> str6.index('h')
    0
    >>> str6.index('what')
    12
    >>> str6.index('.')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: substring not found
    

    strip 默认去除字符串前后的空格,换行符,制表符 ★★★★★

    >>> str7 = "	I'm a superman. "
    >>> str7.strip()
    "I'm a superman."
    >>> str7 = '==hey guys, you shutup!=='
    >>> str7.strip('==')
    'hey guys, you shutup!'
    
    lstrip() rstrip()
    lstrip()是去除左边的。
    rstrip()是去除右边的。
    

    split() 将字符串分割成列表(str---> list),默认以空格分割,可指定字符。 ★★★★★

    >>> str8 = 'spring summer autumn winter'
    >>> str8.split()
    ['spring', 'summer', 'autumn', 'winter']
    >>> str8 = 'spring,summer,autumn,winter'
    >>> str8.split(',')
    ['spring', 'summer', 'autumn', 'winter']
    
    split面试题 ★★★★★
    一般有n个分割符,就有n+1个列表元素。
    但有个特例:当字符串开头有一个空格时并不指定分割符,就只会有n个列表元素。
    >>> str8 = ' spring summer autumn winter'
    >>> str8.split()
    ['spring', 'summer', 'autumn', 'winter']
    >>> str8.split(' ')
    ['', 'spring', 'summer', 'autumn', 'winter']
    
    split([sep [, maxsplit]])可设置分割次数。
    >>> str8.split(',', 1)
    ['spring', 'summer,autumn,winter']
    
    可以用在分割路径与文件名:  ★★★★★
    >>> file_path = r'E:aaabbccc.ddd'
    >>> path, file = file_path.rsplit('\', 1)
    >>> path
    'E:\aaa\bbb'
    >>> file
    'ccc.ddd'
    

    join 自定制连接符,将可迭代对象中的元素连接起来 ★★★★★

    >>> s1 = 'abc'
    >>> '_'.join(s1)
    'a_b_c'
    

    replace 替换字符串,可以指定替换次数 ★★★★★

    >>> s2 = "Jack is Mary's boy friend."
    >>> s2.replace('Jack', 'Mark')
    "Mark is Mary's boy friend."
    
    >>> s2.replace('a', 'o', 1)
    "Jock is Mary's boy friend."
    

    格式化输出:format

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

    is 系列

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

    公共方法

    >>> name='alexaaaa'
    >>> name.count('a')  #可以设置起始位置,结束位置。
    5
    >>> print(len(name))
    8
    
  • 相关阅读:
    [UWP]实现Picker控件
    [UWP]合体姿势不对的HeaderedContentControl
    [UWP]新控件ColorPicker
    [UWP]使用Acrylic(亚克力)
    [UWP]使用Reveal
    [工具]我怎么使用思维导图
    python数据分析师面试题选
    R %operator% 含义
    R中将list类型数据转换成data.frame型
    用R在字符串中提取匹配的部分
  • 原文地址:https://www.cnblogs.com/lanhoo/p/9432328.html
Copyright © 2011-2022 走看看