zoukankan      html  css  js  c++  java
  • 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():以列表返回字典中的所有值

     

     

     

      

    不要让以后的自己被嫌弃
  • 相关阅读:
    hdu 1290 献给杭电五十周年校庆的礼物 (DP)
    hdu 3123 GCC (数学)
    hdu 1207 汉诺塔II (DP)
    hdu 1267 下沙的沙子有几粒? (DP)
    hdu 1249 三角形 (DP)
    hdu 2132 An easy problem (递推)
    hdu 2139 Calculate the formula (递推)
    hdu 1284 钱币兑换问题 (DP)
    hdu 4151 The Special Number (DP)
    hdu 1143 Tri Tiling (DP)
  • 原文地址:https://www.cnblogs.com/wxp997/p/7696216.html
Copyright © 2011-2022 走看看