• day3:数据类型


    一、数据分不同类型的原因:因为数据是用来表示状态的,不同状态需要用不同类型的数据去表示。

    二、数据类型的分类:数字、字符串、列表、元组、字典、集合。

     三、基础数据类型:

    1、数字int:主要用于计算。  

    #bit_length()当十进制用二进制表示时,转换成二进制时最少使用的位数
    a=3
    b=6
    data=a.bit_length()
    data1=b.bit_length()
    print(data,data1)

    2、bool值:只有2种:False  0和True   1.

    3、字符串str

    3.1字符串的索引与切片

      索引就是下标,字符串组成的元素从第一个开始索引为0,之后索引依次递增。

    a='dkajhskdjhs'
    print(a[0])
    print(a[1])
    print(a[2])
    print(a[3])
    print(a[4])

    切片就是通过索引(起始索引位置:最后索引位置:步长)来截取字符串的一段,但是截取出来的字符串是一个新的字符串,切片对原字符串没有影响。

    a='hshdkjhwuhiuwi'
    print(a[0:3])  # 从索引为0的一直到索引为2的
    print(a[2:5])  # 从索引为2的一直到索引为4的
    print(a[0:])  #默认从索引0切片到最后
    print(a[0:5:2])  #取从索引0开始到索引4的字符,且是每两个字符取一个
    print(a[0:-1])  #其中-1就是指最后一个字符,即从第一个开始切片到倒数第二个截止
    print(a[-3:-5:-1])  #反向加步长,即从右到左的第三个切片到第四个

    3.2字符串常用方法:

    1、replace 替代

      replace(old,new,numble)  #numble是指替换的次数

    a='刘奶奶找牛奶奶借榴莲牛奶,但是牛奶奶没有榴莲牛奶借给刘奶奶!'
    print(a.replace(爷爷,奶奶))
    print(a.replace(爷爷,奶奶,3))

    #结果:刘爷爷找牛爷爷借榴莲牛奶,但是牛爷爷没有榴莲牛奶借给刘爷爷!
    #刘爷爷找牛爷爷借榴莲牛奶,但是牛爷爷没有榴莲牛奶借给刘奶奶!

     2、starswith()  # 以...为开始。返回的是bool值。

    a='djhdiudiuhdih'
    b=a.startswith('d')
    c=a.startswith('dh')
    print(b,c)
    
    #结果True False  是将字符dh看做一个整体。

    3、endswith()  #以...为结束。返回的是bool值。

    a='djhdiudiuhdih'
    b=a.endswith('h')
    c=a.endswith('dh')
    print(b,c)
    
    #结果True False  是将dh看做一个整体

    4、center()  #居中,默认填充空格,也可以自己设定填充的内容例如a.center(20,*)就是以*来填充a左右两边。

    a='gdjhasgd'
    print(a.center(20))
    
    #结果       gdjhasgd      

    5、find()寻找元素下标,如果字符串中有多个则只输出该元素第一次出现时的下标。当找不到元素时返回值为-1。

    a='sdidiuskldj'
    print(a.find('d'))
    print(a.find('u'))
    print(a.find('g'))
    #结果1
    #   5
    # -1

    6、index() 与find()用法一样,只是find()在找不到元素时返回值为-1,index()在找不到元素时会报错,没有返回值。

    a='sdidiuskldj'
    print(a.index('d'))
    print(a.index('u'))
    print(a.index('g'))
    
    #结果1
    #Traceback (most recent call last):
    #5
      #File "C:/Pythonbc/课堂/day5.py", line 19, in <module>
        #print(a.index('g'))
    #ValueError: substring not found

    7、capitalize()将字符串的首字母变成大写,其它的变成小写。

    a='sdidiuskldj'
    print(a.capitalize())
    
    #结果  Sdidiuskldj

    8、split():以什么分割,最终形成一个不含该分割元素的列表。

    #以i为分隔符将字符串分割成一个列表
    a='sdidiuskldj' print(a.split('i')) #结果 ['sd', 'd', 'uskldj']

    9、strip() 去除两边的空格,但不能去除字符串中间的空格。

    a='   sdidiusk   ldj   '
    print(a.strip())
    
    #结果:sdidiusk   ldj

    10、lstrip() 去除左边的空格。

    a='   sdidiusk   ldj   '
    print(a.lstrip())
    
    #结果:sdidiusk   ldj   

    11、rstrip() 去除右边的空格。

    a='   sdidiusk   ldj   '
    print(a.rstrip())
    
    #结果:   sdidiusk   ldj

    12、*******is系列:

    a='shk2798372shduh'
    print(a.isdigit())  # 判断字符串是否只由数字组成
    print(a.isalnum())  # 判断字符串是否由字母或数字组成
    print(a.isalpha())  # 判断字符串是否只由字母组成
    
    #  结果:
    #  False
    #  True
    #  False

    13、count() 数字符串中元素出现的个数,可以切片。

    a='shk27h98h3h72shduh'
    print(a.count('h'))
    #结果:6
    a='shk27h98h3h72shduh'
    print(a[0:8:2].count('h'))   #从'sk79'之中数出h的个数
    print(a[0::2].count('h'))     #从'sk79hh2hu'中数出h的个数
    #结果:0
    #         3

    14、swapcase() :大小写翻转:即将大写转换成小写,将小写转换成大写。

    a='dhhDHadSDH67238'
    print(a.swapcase())
    print(a[0::2].swapcase())
    
    #结果:DHHdhADsdh67238
    #         DHhDd628

    15、title() :将每个单词的首字母变成大写,单词与单词之间默认是以空格为分界的,也可以是逗号或其他的特殊字符。

    a='hight short,bian/fu;xia|charry'
    print(a.title())
    print(a[0:9].title())

    #结果:Hight Short,Bian/Fu;Xia|Charry
    # Hight Sho

    16、expandtabs() :将tabe前的补全,默认tabe前不足八位的补全至八位,若多于八位且小于16位,则补全至16位。

    a='j dh	'
    a2 = "hqw	"
    print(a.expandtabs())
    r= a2.expandtabs()
    print(r)
    #结果:j dh     qw     

    17、format() :格式化输出。

    ①第一种:有对应顺序,不可调换。

    people='name:{},sex:{},high:{}'.format('alix','不详','和老王一样')
    print(people)
    
    #结果:name:alix,sex:不详,high:和老王一样

    ②第二种:可重复使用,但是必须要按顺序使用。

    people='name:{0},sex:{1},high:{2},name:{0},头发数量:{3}'.format('jinxin','不详','150cm','几乎没有')
    print(people)
    #结果:name:jinxin,sex:不详,high:150cm,name:jinxin,头发数量:几乎没有

    ③第三种:后面的format可以打乱顺序。

    people='name:{name},sex:{sex},high:{high}'.format(name='jinxin',high=150,sex='')
    print(people)
    #结果:name:jinxin,sex:女,high:150

    18、upper() :将字符串中的字母全部转换成大写。

    a='dhjkh3798279iuiujl'
    print(a.upper())
    #结果:DHJKH3798279IUIUJL

    19、lower() :将字符串中的字母全部转换成小写。

    a='JKSHDKJH73987398 389SKJHDHSD'
    print(a.lower())
    #结果:jkshdkjh73987398 389skjhdhsd

    举例:

    c='hsks'
    your_c=input('请输入验证码,不区分大小写!')
    if your_c.upper()==code.upper():
        print('输入正确,登陆成功!')
    else:print('请重新输入!')
    #结果请输入验证码,不区分大小写!HSKS
    #输入正确,登陆成功!

    20、for循环。for 变量 in 可迭代对象。但是只遍历一次,适用于有限循环。

    a='jsdg82jhsd'
    for i in a:
        print(i)
    #将a中的元素一个一个打印出来
    s='hjh3hjkh4hkj89dih'
    count=0for i in s:
        if i.isdigit():
            count+=1
        else:print(666)print(count)#若i是数字,则count+1,否则输出666,最后输出count(即字符串中的数字的个数)

    浮点型:

    浮点数即为小数

    浮点数是浮动的

    1.2===》12*0.1
    1.2===》0.12*10

    复数:a+bj或a+bJ,其中j不区分大小写

    其中j的平方是-1

    复数之间是不能比较大小的

  • 相关阅读:
    C#命名约定:PascalCase和camelCase
    Windows8 App 四大名著完整本 隐私保护声明
    C#-编码习惯
    [转]C#之Console.Write()和Console.Read()及Console.Readline()的问题
    通过JavaScript动态输入计算
    在VS2008中加入ExtJS智能提示—>(方法一)
    在VS2008中加入ExtJS智能提示—>(方法二)
    (一)javascript面向对象:(1)类
    上证指数波浪分析2013/03/12
    Springsecurity源码Filter之HeaderWriterFilter(十二)
  • 原文地址:https://www.cnblogs.com/hzhcdhm/p/7718769.html
Copyright © 2020-2023  润新知