zoukankan      html  css  js  c++  java
  • python(二)数据类型

    一、整数

    创建方法

    i = 10

    i = int(10)

    i = int("10",base=2)  #“”中是几进制的表示,base是选择要表示的进制,如base=2,用2进制的表示,那么“10”就是2进制的表示码

    >>> int.bit_length(10)  #求数字用2进制表示最少用几位,如10的二进制:1010,需要4位

    4

    >>> bin(10)

    '0b1010'

    >>> int.__abs__(-10)     #求一个数的绝对值,也可用abs()来表示 

    10 

    >>> abs(-10)

    10

    >>> i.__add__(15)        #求i+15的和

    25

    >>> a = 98

    >>> a.__divmod__(10)     #相除,得到商和余数组成的元组,在web页面分页的时候会用到。98篇文章,每页10篇,通过这个函数,得到元组,判断第二位,如果是0就是前边那个数的页面就能显示得了,如果不等于0,那么就得前边的数加1页才能显示完整。

    (9, 8)

    >>> divmod(a,10)

    (9, 8)

    >>> i.__float__()        #把init转换成float类型

    10.0

    >>> age = 18

    >>> age.__format__("10") #格式化输出,10表示占10个字符,不够的用空格补齐

    '        18'

    >>> age.__neg__()        #求整数的负数  

    -18

    总结:

    1、创建整数的三种方式

    2、__divmod__/__hash__/__index__/

    二、长整型

    如:1919191919218310238

    功能与整数基本相同

    三、浮点型

    如:3.15

    功能与整数基本相同

    四、字符串

    创建方式

    str1 = 'biubiu'

    str1 = ("biubiu")

    功能如下:

    >>> name = "didi"

    >>> name.capitalize()          #首字母大写

    'Didi'

    >>> name.center(20,"*")     #20表示占多少个字符,将字符串居中显示,“*”星号表示,如果不足20个字符,则其他用星号来表示。“”双引号中可以是任意字符,如不加,默认用空格表示。

    ********didi********'

    >>> name

    'sdjfskdfjskjfskjfjsfjjj'

    >>> name.count("s")           #看name中包含多少个s

    5

    >>> name.count("s",0,10)   #看name[0:10]中包含多少个s

    3

    >>> name.endswith("jjj")      #以什么什么结尾,如果是以jjj结尾,即返回True,否则False。

    True

    >>> name.endswith("k")  

    False

    def expandtabs(self, tabsize=8): #把tab键转换成空格,默认是8个空格

    如:

    name.expandtabs(10)          #tab转换成10个空格

    >>> name = "test"

    >>> name.find('e')                #找字符的下标,如果字符在字符串中存在,则返回下标值,如果不存在,则返回-1.如果查找多个字符,以返回第一个字符的下标,如:name.find('didi')   返回d的下标

    1

    >>> name.find("d")

    -1

    >>> name = "i am {0}, age {1}"

    >>> name.format("dididi",22)       #字符串格式化

    'i am dididi, age 22'

    >>> name = "i am {jj}, age {kk}" 

    >>> name.format(jj="dididi",kk=22)

    'i am dididi, age 22'

    >>> list = [222,333]                     #字符串格式化,列表传参

    >>> name = "i m {0},age {1}"

    >>> name.format(*list)

    'i m 222,age 333'

    >>> dic = {"ss":123,"dd":456}     #字符串格式化,字典传参。

    >>> name = "i m {ss},age {dd}"     

    >>> name.format(**dic)

    'i m 123,age 456'

    以上需要注意的是:传入列表的时候是一个*,传入字典时是两个*

    >>>name.index("d")                   #返回字符的下标,与find类似。唯一的区别是find找不到返回-1,index找不到会报错。

    >>> name = "test"

    >>> name.isalnum()                   #字符是否是字母和数字。是则返回True,否则返回False。

    True

    >>> name = "***"

    >>> name.isalnum()

    False

    >>>name.isalpha()                    #是否是字母

    >>>name.isdigit()                      #是否是数字

    >>>name.islower()                    #是不是小写

    >>>name.isspace()                   #是不是空格

    >>>name.istitle()                       #是不是标题

    >>>name.title()                          #字符串转换成标题(单词首字母大写)

    >>> name = "di di"

    >>> name.title()

    'Di Di'

    >>> name = "Di Di"                   #单词首字母大写,则就是标题

    >>> name.istitle()

    True

    >>>name.isupper()                   #是否全部大写

    >>>name.join()                          #连接

    >>> list = ["di","di"]

    >>> "___".join(list)

    'di___di'

    >>> name = "Hello,World!"       #左对齐

    >>> name.ljust(30,"=")   

    'Hello,World!=================='

    >>>s.lower()                             #字母全部变小写

    >>> name = "DiDi1"

    >>> name.lower()

    'didi1'

    >>>name.swapcase()               #小写变大写,大写变小写

    >>>name.lstrip()                       #左边空白移除

    >>>name.partition()                  #

    >>> name = "hello,world"

    >>> 

    >>> 

    >>> name.partition("ll")             #把字符串分成了三部分,ll一部分,ll前边,和后边一部分

    ('he', 'll', 'o,world')

    >>>name.replace()                   #替换

    >>> name = "hello,world"

    >>> name.replace("l","L")         #会找里边所有符合的字符替换

    'heLLo,worLd'

    >>>name.find()                        #从右边开始找,字符的下标

    >>>name.startswith                  #以什么开始

    五、列表

    如:[111,222,333]、['abc','bbb']

    功能如下

    list.append()                              #追加到列表

    >>> li = [11,22,33]

    >>> li.count(22)                      #22在列表中出现的次数

    1

    >>>li.extend()                         #扩展列表

    >>> li = [11,22,33]  

    >>> li.extend(['abd','jjj'])          #扩展列表li,添加abd,jjj

    >>> li

    [11, 22, 33, 'abd', 'jjj']

    >>>li.index()                           #返回第一次出现的这个值的下标,如果这个值不存在,则触发一个异常(报错)

    >>>li.insert()            #插入

    >>> li.insert(0,'jjjlkjj')              #在0的下标处插入

    >>> li

    ['jjjlkjj', 11, 22, 33, 'abd', 'jjj']

    >>>li.pop([index])       #删除并返回指定下标的值,如果没有,则最后一个

    >>> li

    ['jjjlkjj', 11, 22, 33, 'abd', 'jjj']

    >>> li.pop()                         #不指定则删除最后一个,并返回

    'jjj'

    >>> li

    ['jjjlkjj', 11, 22, 33, 'abd']

    >>> li.pop(0)                        #指定删除下标为0的值

    'jjjlkjj'

    >>> li

    [11, 22, 33, 'abd']

    可以这样使用:

    >>> name = li.pop()

    >>> name

    'abd'

    >>>li.remove(22)                   #删除指定的值,只删除第一个匹配的

    >>> li = [22,22,33,3,333]

    >>> li.remove(22)

    >>> li

    [22, 33, 3, 333]

    >>> li

    [22, 33, 3, 333]

    >>> li.reverse()                     #把原列表反转

    >>> li

    [333, 3, 33, 22]

    li.sort()                                 #排序,字母按ASCII来比较,数字按大小比较

    六、元组

    如:(11,22,33)

    元组的元素不能被修改,但元组元素的元素是可以修改的。

    功能与列表基本相同。

    七、字典

    如:{"name":"yang","age":12}

    功能如下:

    dic.clear()                            #清除内容

    dic.copy()                            #浅拷贝

    >>> dic = {'k1':1234}

    >>> dic.get("k1")                 #获取key的value,如果没有这个值,就会返回None,也可以dic.get("k2","ok")这样如果没有这个值,就会返回ok。

    1234

    >>> dic.get("k2") 

    >>> print (dic.get("k2") )

    None

    >>> print (dic.get("k2","ok"))  

    ok

    判断数据类型:

    type(name_dic) is dict        #是字典则返回True,不是则False

    type(name_dic) is int

     

     

     

     

     

     

     

     

     





  • 相关阅读:
    Python GUI编程(Tkinter)——Label and Button
    第一章——正则表达式(特殊符号和字符)
    最近用到的Blender相关技术总结
    第一章—正则表达式(简介/动机)
    发个随笔纪念Manim配置成功
    JUC并发工具的使用和原理
    线程启动与终止原理
    cpu缓存一致性
    布隆过滤器
    对象并不一定都是在堆上分配内存(逃逸分析)
  • 原文地址:https://www.cnblogs.com/yangruizeng/p/5514258.html
Copyright © 2011-2022 走看看