zoukankan      html  css  js  c++  java
  • 基础数据类型操作(一)——整型、字符串

    type函数:用以显示对象数据类型

    数字(在python2中区分int类型和long类型;而python3中只有int类型)

    字符串str

    # 整型
    # int(对象, base=进制) #字符转成对应进制数
    a = '0011'
    print(int(a, base=2)) #结果是3,先转换成2进制,在转换成10进制输出
    print(int(a, base=8)) #结果是9,先转换成8进制,在转换成10进制输出
    print(int(a, base=10)) #结果是11,先转换成10进制,在转换成10进制输出
    
    # bit_length() #显示数值以2进制计算的宽度
    a = 11 #二进制为1011长度为4
    print(a.bit_length()) #结果为4
    
    #字符串
    # capitalize() #除首字母外其他均改为小写
    s = 'aLexAlex'
    t = s.capitalize()
    print(t)
    # upper() #均转换成大写字母
    print(s.upper())
    # lower()均转换成小写
    print(s.lower())
    # center(长度, 填充字符) #总字符长度,如果够长,则输出整个字符串即可;若原始字符达不到长度,则使用填充符两端填充
    print(s.center(7, '*'))
    # count(要查找的字符串,起始位置,终点位置)
    print(s.count('le'))
    # endswith('ex') #以字符串结尾,返回布尔型
    print(s.endswith('ex'))
    # find(待查找字符串,起始位置,终点位置) 返回待查找的字符串在整个字符串中的位置,如果找不到返回-1
    print(s.find('le', 4, 7))
    # 使用index()也能够查找到位置,但是如果找不到会报错
    print(s.index('le'))
    
    
    #格式化 将字符串中的占位符替换为指定的值
    #使用变量格式化
    # text = 'I am {name}, age {a}'
    # print(text)
    # print(text.format(name='lwj', a='20'))
    # 使用序列格式化
    # text = 'I am {0}, age {1}'
    # print(text)
    # print(text.format('lwj', 20))
    # 使用字典格式化
    text = 'I am {name}, age {a}'
    print(text)
    print(text.format_map( {'name':'lwj', 'a':'20'} ))
    
    
    # 1.python官方定义中的字母:大家默认为英文字母+汉字即可
    # 2.python官方定义中的数字:大家默认为阿拉伯数字+带圈的数字即可
    
    # isalnum() 至少有一个字符且所有字符都是字母数字,那么返回结果就是True;否则含特殊字符,就返回False
    t = '三a+_@'
    print(s.isalnum())
    # isalpha() 至少有一个字符且所有字符都是字母,那么返回结果就是True;否则,就返回False
    t = '三a'
    print(t.isalpha())
    # isdigit() 至少有一个字符且所有字符都是数字,那么返回结果就是True;否则,就返回False
    t = '三a'
    print(t.isdigit())
    
    # expandtabs(分割的字符串长度) # 吧字符串按照长度分割,	制表符补充空格=长度-已填充的字符数
    t = 'name	age	addr
    lwj	17	安徽
    lwj	17	安徽
    lwj	17	安徽
    '
    print(t.expandtabs(10))
    
    s = 'abc123	de	fghijk	mn'
    print(s.expandtabs(5)) #此时abc123超过5后面补充制表符,de不满足补充3空格,fghijk满足直接分割,mn在最后不需要补充
    
    # isidentifier() # 满足数字、字母、下划线,即使是关键词,且不以数字开头即位True
    t = ['_abc1', 'a_bc1', '1_abc', 'def', 'a+b']
    for i in t:
        print(i.isidentifier()) # 结果分别是T,T,F,T,F
    
    # s.isprintable() #如果存在不可显示的字符例如换行、制表符等,则为False
    s = 'abc	cde'
    print(s.isprintable())
    
    # title() #吧每个单词的首字母大写,变成标题的格式 istitle()则判断是否每个单词的首字母为大写
    s = 'I am title'
    print(s.title())
    print(s.istitle())
    
    # 将字符串以自定分隔符分割拼接
    s = '今天天气不错'
    print('_'.join(s))
    
    # 固定长度左右中对齐,以*补齐
    s = 'lwj'
    print(s.center(5, '*'))
    print(s.ljust(5, '*'))
    print(s.rjust(5, '*'))
    
    # 移除左右的所有空格,可传参strip('a'),则移除左右的字符a
    s ='  AB C12 '
    print(s.strip())
    print(s.lstrip())
    print(s.rstrip())
    # 移除指定字符例如 lstrip(abcdef)
    
    # 对应位置替换 例如abcde对应12345吧字符中含有的abcde对应替换为12345
    m = str.maketrans('abcde','12345')
    s = 'acdgefh'
    print(s.translate(m))   #会把字符串s中的abcde对应替换为12345,结果为134g5fh
    
    # partition('c') # 以制定分隔符分割字符串,并且吧分割符也当作一列输出,且只分割一次
    s ='abcdcbabbcd'
    print(s.partition('cd'))
    
    # split('cd') #以指定字符为分隔符,分割全部字符串,不展示分割符列。可传参,分割几次
    print(s.split('c',2))
    
    # swapcase() # 转换大小写
    s = 'happy new yeaR'
    print(s.swapcase())
    
    # 字符串切片
    s = 'abcdefg'
    print(s[2]) #取第三个字符
    print(s[-1]) #取最后一个字符
    print(s[2:3]) #取第三个字符,2-3不含3
    
    #len()获取字符串、列表的长度
    li = [11, 22, 'abcd']
    s = 'abcdefg'
    i = 0
    while i < len(s):
        print(s[i])
        i += 1
    
    # for 循环
    for i in li:
        print(i)
    
    # 替换
    s = 'abcdabcdabcd'
    print(s.replace('b', 'e'))
    
    #range生成范围参数分别是,起始值,结尾值(不含结尾值),步长
    n = range(1, 11, 2)
    for i in n:
        print(i)
    
    #小练习,根据用户输入,逐行输出用户输入的单个字符
    text = input('请输入:')
    for i in range(0, len(text)):
        print(i+1, text[i])
  • 相关阅读:
    windows10 中 svn 代码统计工具 StatSVN 使用详解
    Windows 10 安装 JDK14 Java 环境,没有 jre 包
    GET和POST两种基本请求方法的区别
    图解HTTP学习笔记(一)WEB基础
    【LinuxShell】cp 用法详解
    博客陆续迁移中...
    显示git忽略文件
    字符串遍历
    SDWebImage源码分析(二)
    其他
  • 原文地址:https://www.cnblogs.com/wjlv/p/10806141.html
Copyright © 2011-2022 走看看