zoukankan      html  css  js  c++  java
  • 第二天 PYTHON 基本数据类型

    基本数据类型

    1、数字(int)
    在python3中,所有数字都是int类型
    在python2中,有int类型和long类型

    2、字符串(str)
    3、列表(list)
    4、元组(tuple)
    5、字典(dict)
    6、布尔值(bool)

    pycharm 小贴士:
    用鼠标指向函数,点住ctrl,点击鼠标左键,可以定位到函数
    ********************************************************************
    # 数字int类型

    - int #转换为数字类型
    a = '123' # 字符串是字符串类型
    b = int(a) # 转换为数字类型
    b = b + 1000
    print(type(a),a) # 查看a的类型
    print(type(b),b) # 查看b的类型

    num = '0011'
    v = int(num,base = 2) #base转换2进制为10进制

    num = 'a'
    v = int(num, base = 16) #将字符串a用16进制转化为10进制,结果为10
    print(v)

    - bit_length() #返回2进制长度
    age = 10
    r = age.bit_length(age) #返回10的2进制长度,结果为7
    print(r)
    *********************************************************************
    #字符串类型 str
    #首字母大写
    test = 'alex'
    test.capitalize() #首字母大写,结果是Alex

    #变为小写字母
    test = 'aLex'
    test.casefold() #将字母变为小写字母,这个更厉害,有很多未知的对应关系
    test.lower() #将字母变为小写字母

    #使用字符串填充,字符串居中
    test.center(20) #一共20个字符,将文本居中
    test.center(20,*) #一共20个字符,将文本居中,空格用*代替,代替字符只能是1个字符

    # 使用字符串填充
    test = 'alex'
    test.ljust(20, "*") # 字符串在左边
    test.rjust(20, "*") # 字符串在右边

    #使用0填充字符串
    test.zfill(20) #使用0进行填充,最后写alex

      
       #寻找字符串中子序列的出现次数,可以指定起始位置和结束位置
       test = 'alexalex'
    test.count('ex') #计算在字符串中出现的次数,结果是2
    test.count('ex',5) #从第五个字符开始寻找,结果是1
    test.count('ex',5,6) #从第五个开始到第六个结束,结果是0

    encode #后面讲

    #判断字符串的起始和结尾字符
    test.endswith('a') #判断字符串是否以a结尾,结果为False
    test.startswith('a') #判断字符串是否以a开始

    #字符串根据制表符断句转换
    test = '12345678 9'
    test.expandtabs(6) #把字符串中的 tab 符号(' ')转为空格,
    #这一句写法的意思是,从开始按每6个进行转换,遇到包含/t的时候,看/t在6个字符串中的位置,以最多6个进行填充
    test = 'username email password laiying ying@q.com 123 laiying ying@q.com 123 laiying ying@q.com 123'
    test.expandtabs(20)
    #可以输出一个有格式的文本列


    #寻找字符串中的内容
    test = 'alexalex'
    test.find('ex') #从前往后寻找字符串,返回字符串起点位置
    test.find('ex',5,7) #设置起点位置和结束位置,现在的结果是-1,是没找到的意思
    #大于等于5,小于7的意思


    # 格式化字符,将一个字符串中的占位符号替换为指定的值
    test = 'i am {name}'
    test.format(name = 'alex') #将大括号内的字符,代替为alex,结果是i am alex
    test = 'i am {name},age {a}'
    test.format(name='alex',a=19) #结果为i am alex,age 19

    test = 'i am {0},age {1}'
    test.format('alex',19) #结果也为i am alex,age 19,根据替换的顺序进行替换,从0开始

    test = 'i am {name},age {a}'
    test.format_map({'name':'alex','a':19}) #传入的值必须采用这种写法


    #字符串寻找
    text.index('8') #跟find功能类似,没有找到的时候程序报错


    #替换字符
    test = 'alexalexalex'
    test.replace('ex','bbb') #用bbb替换字符串中的ex
    test.replace('ex','bbb',2) #用bbb替换字符串中的ex,只替换前两个


    #判断字符串中只包含数字和字母
    test = 'uasf890_+'
    test.isalnum() #运行结果为False
    test = 'uasf890'
    test.isalnum() #运行结果为True

    #判断字符串中只包含字母
    test = 'uasf890'
    test.isalpha() #运行结果为False
    test = 'uasf'
    test.isalpha() #运行结果为True

    #判断是否为数字
    test = '123'
    test = '②' #特殊数字
    test.isdecimal() #判断是否为十进制小数,正常数字输出的是True,特殊的输出的是False
    test.isdigit() #判断是否为数字(包含了特殊符号),正常数字输出的是True,特殊的输出的也是True
    test.isnumeric() #判断是否为数字(包含了特殊符号和中文),正常数字输出的是True,特殊的输出的也是True

    # 字母、数字、下划线:标识符
    test = '_123'
    test.isidentifier() #判断是否为正确标识符(函数名),返回布尔值。数字不能作为第一个字符

    #判断是否包含的所有字符都可以输出,没有不可显示的内容,如:/t
    test = 'lfjsdak ljfkla'
    test.isprintable() #此时输出的是False

    #是否全部都是空格,如果是空字符串的时候输出False
    test.isspace()

    #是否是标题(每一个字符都是标题,首字母全部大写?)
    test.istitle()
    #转换全部字符串中的每一个字符都是标题,首字母全部大写
    test.title()


    #将字符串中的每一个元素按照指定的分隔符进行拼接
    test = '你是风儿我是沙'
    t = ' '
    t.join('test') #在每个字符中间增加一个空格
    ' '.join(test) #这个跟上面的一行是一个结果

    #转换为小写
    test = 'Alex'
    test.islower() #判断是否全部是小写
    test.lower() #将全部字符变为小写

    #转换为大写
    test.isupper() #判断是否全部是大写
    test.upper() #将全部字符变为大写

    #删除空格以及制表符、以及指定的字符,优先匹配最多匹配结果
    test = ' alex '
    test.lstrip() #将左边的空格删除
    test.rstrip() #将右边的空格删除
    test.strip() #将全部的空格删除
    test = 'xalex'
    test.lstrip('9lexex') #从左边删除字符串中的所有字符,先进行最多匹配,再进行下一次匹配


    #按照规则替换相应的字符
    m = str.maketrans('aeiou','12345') #首先指定一个字符的对应关系
    test = 'fjkasjflasjflasl;fjllkdsajfl;asfj' #设置一串字符
    new_test = test.translate(m) #按照规则将字符进行替换


    #分割字符串
    test = 'testjflsajfdslkjfl'
    test.partition('s') #从字符串左边开始,按照s进行分割,分割成为3个字符串
    test.rpartition('s') #从字符串右边开始,按照s进行分割,分割成为3个字符串
    test.split('s') #将字符串中的全部字符,按照s进行分割成为n份,s就没了
    test.split('s',2) #从左开始,按s进行分割2次,s消失
    test.rstrip('s') #从右边开始,按s进行分割
    # 正则表达式也可以进行分割,并且可以自己进行设置分割的元素,是否保留
    test.splitlines() #根据换行符进行分割,参数True保留换行符,False不保留换行符


    #判断字符串以??开头??结尾
    test = 'backend 1.1.1'
    test.startswith('a') #判断字符串是否以a开头
    test.endswith('a') #判断字符串是否以a结尾


    #大小写转换
    test = 'AleX'
    test.swapcase() #结果为aLEx


    以下是必须要掌握的:
    join
    split
    find
    strip
    upper
    lower
    replace
    ********************************************************************
    range                   #创建连续的数字,或带步长的连续的数字

    v = range(100) #v就等于0至99
    #python2中立即创建,python3中不创建,直至for循环时创建,并按照循环数依次创建
    v = range(0,100,5) #按照5步长进行创建

    for item in v:
    print(item)

    #range练习
    test = input('...')
    l = len(test)
    r = range(l)
    for item in r:
    print(item,test[item])

    #代码简写
    test = input('...')
    for item in range(0,len(test)):
    print(item,test[item])

    *************************************************************
    下面提到的可以在其他数据类型中也可以使用

    # 通过索引方式获取字符串的某一个字符
    test = 'alex'
    test[0] #这个是a
    test[2] #这个是e

    # 通过切片方式获取字符串的某一段字符
    test[0:1] #表示一个索引范围,这个只能拿到a,这个范围是大于等于0,小于1
    test[0:-1] #表示直接取到最后一个位置

    #获取字符串的长度
    len(test) #获取字符串的长度,如果是中文的话,也返回中文的字符长度。注:在python2中返回的是字节数,一个汉字是3个字节,返回的是汉字数*3的个数
    #对于列表的话,len返回的是列表中的逗号的数量

    # 下面的代码会依次取出test字符串中的字符,每一个字符一行
    test = '1234567890'
    for zjw in test:
    print(zjw)


  • 相关阅读:
    css数学运算函数 calc(),和css的数学运算
    MySQL设置字段的默认值为当前系统时间
    今天阿里云服务器被挂马wnTKYg挖矿的清理
    linux shell常用命令
    无损扩容,调整Centos6.5服务器分区大小,不适用centos7,centos6.5 调整逻辑卷大小
    添加远程库
    interface 设置默认值
    radio根据value值动态选中
    获取下拉js 具体值
    mysql中int、bigint、smallint 和 tinyint的存储
  • 原文地址:https://www.cnblogs.com/trunkslisa/p/9184613.html
Copyright © 2011-2022 走看看