• day5-python数据类型


    数据类型

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:

    整数

    Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1100-80800,等等。

    计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff000xa5b4c3d2,等等。

    浮点数

    浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是相等的。浮点数可以用数学写法,如1.233.14-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

    整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

    布尔值

    布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来:

    >>> True
    True
    >>> False
    False
    >>> 3 > 2
    True
    >>> 3 > 5
    False
    

    布尔值可以用andornot运算。

    and运算是与运算,只有所有都为Trueand运算结果才是True

    >>> True and True
    True
    >>> True and False
    False
    >>> False and False
    False
    

      

    or运算是或运算,只要其中有一个为Trueor运算结果就是True

    >>> True or True
    True
    >>> True or False
    True
    >>> False or False
    False
    

      

    not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True

    >>> not True
    False
    >>> not False
    True
    

      

    布尔值经常用在条件判断中,比如:

    if age >= 18:
        print 'adult'
    else:
        print 'teenager'
    

     

    字符串

    a)字符串定义

    字符串或串(String)是由数字、字母、下划线组成的一串字符。,字符串是我们最常用到的,我们用 '', "", "''"(三重引号(docstring)除了能定义字符串以外,还可以用作注释),都可以定义字符串,特性不可修改,例子付下:

    >>> str1 = "qwewqeqwe"
    >>> str2 = 'qwewqe'
    >>> str3 = "'qweqrqasd'"
    

    b)字符串方法

    name = 'caicaidetong'
    name.capitalize()  首字母大写
    name.casefold()   大写全部变小写
    name.center(50,"-")  输出 '---------------------caicaidetong----------------------'
    name.count('cai') 统计 cai出现次数
    name.encode()  将字符串编码成bytes格式
    name.endswith("ong")  判断字符串是否以ong结尾
     name.find('A')  查找A,找到返回其索引, 找不到返回-1 
    
    format : 连接字符串方法
        >>> msg = "my name is {}, and age is {}"
        >>> msg.format("caicai",24)
        'my name is caicai, and age is 22'
        >>> msg = "my name is {1}, and age is {0}"
        >>> msg.format("caicai",24)
        'my name is 24, and age is caicai'
        >>> msg = "my name is {name}, and age is {age}"
        >>> msg.format(age=24,name="caicai")
        'my name is caicai, and age is 24'
    
    
    
    msg.index('c')  返回a所在字符串的索引
    msp.split(' ') 分割字符串
    msg.strip() 删除头部和尾部的空格
    msg.swapcase() 大小写互换
    
    >>> b="ddefdsdff_哈哈" 
    >>> b.isidentifier() #检测一段字符串可否被当作标志符,即是否符合变量命名规则
    True
    字符串切片
    str = '0123456789′
    print str[0:3] #截取第一位到第三位的字符
    print str[:] #截取字符串的全部字符
    print str[6:] #截取第七个字符到结尾
    print str[:-3] #截取从头开始到倒数第三个字符之前
    print str[2] #截取第三个字符
    print str[-1] #截取倒数第一个字符
    print str[::-1] #创造一个与原字符串顺序相反的字符串
    print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
    print str[-3:] #截取倒数第三位到结尾
    

      

    
    

      

    列表list

    列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

    定义列表

    list1 = ['a',1,'123','qwe']
    

    通过下标访问列表中的元素,下标从0开始计数

    >>> list1 = ['a',1,'123','qwe']
    >>> list1[1] 取第二个值
    1
    >>> list1[0] 取第一个值
    'a'
    >>> list1[-1]  取最后一个值,
    'qwe'
    

     切片,取多个元素

     

     1 >>> list1[1:4]  取下标1到4的值,不包含4
     2 [1, '123', 'qwe']
     3 >>> list1[1:-1] 取下标1到最后一个值,不包含最后一个。
     4 [1, '123']
     5 >>> list1[0:3] 取下标0到3的值,不包含下标3的值
     6 ['a', 1, '123']
     7 >>> list1[:3] 取开头到3的值
     8 ['a', 1, '123']
     9 >>> list1[2:] 取2到结尾的值
    10 ['123', 'qwe']
    11 >>> list1[0::2] 取0到结尾的值, 2表示间隔一个值,取一个
    12 ['a', '123']

    追加 append

    >>> list1.append("xin")
    >>> list1
    ['a', 1, '123', 'qwe', 'xin']

    插入insert

    >>> list1.insert(2,'charu') 从下标2后面插入
    >>> list1
    ['a', 1, 'charu', '123', 'qwe', 'xin']

    删除

    >>> list1.pop()  删除最后一个值
    'xin'
    >>> list1
    ['a', 1, 'charu', '123', 'qwe']
    >>> list1.remove('qwe')  删除指定值
    >>> list1
    ['a', 1, 'charu', '123']
    

     

    元组tuple

    元组其实跟列表差不多,也是存一组数,只不是它一旦创建,便不能再修改,所以又叫只读列表

    注意单个tuple元素的时候,元素后面要加",",否则python解析器不会识别为tuple类型

    tuole1 = ("we","as","ebb")

    它只有2个方法,一个是count(统计某个元素的出现的格式),一个是index(返回某个元素的下标),完毕。

    字典dict

    字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

    语法:

    dic1 = {"a":1,
            "b":2,
            "c":3}
    

    字典的特性:

    • dict是无序的
    • key必须是唯一的,so 天生去重

    增加

    >>> dic1['d'] = 4
    >>> dic1
    {'a': 1, 'b': 2, 'c': 3, 'd': 4}

    修改

    >>> dic1['b'] = 5
    >>> dic1
    {'a': 1, 'b': 5, 'c': 3, 'd': 4}
    

     查找

    >>> 'a' in dic1 #确认 a是否存在
    True
    >>> dic1.get('b') #获取
    5
    >>> dic1['a'] #获取
    1
    

     字典还有其他方法

    cmp(dict1, dict2):比较两个字典元素

    len(dict):计算字典元素个数,即键的总数

    str(dict):输出字典可打印的字符串表示

    type(variable):返回输入的变量类型,如果变量是字典就返回字典类型

    dict.clear() 清除字典中的元素

    dict.copy():返回一个字典的浅复制

    dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

    dict.has_key(key):如果键在字典dict里返回true,否则返回false

    dict.items():以列表返回可遍历的(键, 值) 元组数组

    dict.keys():以列表返回一个字典所有的键

    dict.update(dict2):把字典dict2的键/值对更新到dict里

    dict.values():以列表返回字典中的所有值

     

     

     

      

    不要让以后的自己被嫌弃
  • 相关阅读:
    Android Animations动画使用详解
    android LinearLayout和RelativeLayout实现精确布局
    中国天气网API
    获取中央气象台API 完整城市列表简单方式
    Django框架 连接Oracle -ServerName方式报错
    关于java的动态代理
    Mybatis缓存
    Git使用,将本地项目推送到GitHub上
    使用doxc4j将word转pdf遇到的一个问题
    linux安装jdk
  • 原文地址:https://www.cnblogs.com/wxp997/p/7696216.html
Copyright © 2020-2023  润新知