zoukankan      html  css  js  c++  java
  • python基础数据类型

    数据类型

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

    一 Number(数字)

    1.1 数字类型的创建

    a=10
    b=a
    b=666
    
    print(a)#10
    print(b)#666
    

    1.2 Number 类型转换

    var1=3.14
    var2=5
    var3=int(val1)
    var4=float(val2)
    
    print(var3,var4)
    

    二 字符串类型(string)

    字符串是以单引号‘或双引号’括起来的任意文本,比如'abc','123'等等
    请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

    2.1 创建字符串

    var1 = 'hello World!'
    var2 = "Python RAlvin"
    

    对应操作:

    # 1    *重复输出字符串
    print('hello'*2)
    # 2     [] ,[:] 通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表
    print('helloworld'[2:])
     
    # 3     in  成员运算符 - 如果字符串中包含给定的字符返回 True
    print('el' in 'hello')
     
    # 4     %   格式字符串
    print('alex is a good teacher')
    print('%s is a good teacher'%'alex')
      
    # 5     +   字符串拼接
    a='123'
    b='abc'
    c='789'
    d1=a+b+c
    print(d1)
    # +效率低,该用join
    d2=''.join([a,b,c])
    print(d2)
    

    三 字节类型(bytes)

    # a=bytes('hello','utf8')
    # a=bytes('中国','utf8')
     
     
    a=bytes('中国','utf8')
    b=bytes('hello','gbk')
    #
    print(a)        #b'\xe4\xb8\xad\xe5\x9b\xbd'
    print(ord('h')) #其十进制 unicode 值为: 104
    print(ord('中'))#其十进制 unicode 值为:20013
     
    #  h   e  l   l   o
    # 104 101 108 108 111   编码后结果:与ASCII表对应
     
     
    #     中                国
    #   \xd6\xd0         \xb9\xfa       gbk编码后的字节结果
    #\xe4 \xb8 \xad   \xe5 \x9b \xbd    utf8编码后的字节结果
    # 228 184 173      229 155  189        a[:]切片取
     
     
    c=a.decode('utf8')
    d=b.decode('gbk')
    #b=a.decode('gbk') :很明显报错
     
    print(c) #中国
    print(d) #hello
    

    注意:对于 ASCII 字符串,因为无论哪种编码对应的结果都是一样的,所以可以直接使用 b'xxxx' 赋值创建 bytes 实例,但对于非 ASCII 编码的字符则不能通过这种方式创建 bytes 实例,需要指明编码方式。

    b1=b'123'
    print(type(b1))
    # b2=b'中国' #报错
    # 所以得这样:
    b2=bytes('中国','utf8')
    print(b2)#b'\xe4\xb8\xad\xe5\x9b\xbd'
    

    四 布尔值

    一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写)

    print(True)
    print(4>2)
    print(bool([3,4]))
    print(True+1)
    

    与或非操作:

    bool(1 and 0)
    bool(1 and 1)
    bool(1 or 0)
    bool(not 0)
    

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

    age=18
    if age>18:#bool(age>18)
        print('old')
    else:
        print('young')
    

    五 List(列表)

    编程语言有一个重要的数据类型----列表(list)
    什么是列表:
    列表(list)是Python以及其他语言中最常用到的数据结构之一。Python使用中括号[]来解析列表。列表是可变的(mutable) --可以改变列表的内容。
    对应操作:

    1 查 ([])

        names_class2=['张三','李四','王五','赵六']
        
        print(name_class2[2])#王五
        print(name_class2[0:3])#['张三', '李四', '王五']
        print(name_class2[0:7])#['张三', '李四', '王五', '赵六']
        print(name_class2[-1])#赵六
        print(names_class2[0:3:1])#['张三', '李四', '王五']
        print(names_class2[3:0:-1])#['赵六', '王五', '李四']
    

    2 增 (append,insert)

    insert方法用于将对象插入到列表中,而append方法则用于在列表末尾追加新的对象

        names_class2=['张三','李四','王五','赵六']
        names_class2.append('alex')#['张三', '李四', '王五', '赵六', 'alex']
        names_class2.append(2,'alvin')#['张三', '李四', 'alvin', '王五', '赵六']
        print(names_class2)
    

    3 改 (重新赋值)

    names_class2 = ['张三', '李四', '王五', '赵六']
    names_class2[3]='赵七'#['张三', '李四', '王五', '赵七']
    names_class2[0:2]=['wusir','alvin']#['wusir', 'alvin', '王五', '赵六']
    print(names_class2)
    

    4 删 (remove,del,pop)

    names_class2 = ['张三', '李四', '王五', '赵六']
    names_class2.remove('张三')#['李四', '王五', '赵六']
    del names_class2[0]#['李四', '王五', '赵六']
    names_class2.pop()#['张三', '李四', '王五'] 注意,pop是有一个返回值的
    print(names_class2)
    

    5 其他操作

    5.1 count

    count方法统计某个元素在列表中出现的次数

    >>>['to', 'be', 'or', 'not', 'to', 'be'].count('to')
    2
    >>>x = [[1,2], 1, 1, [2, 1, [1, 2]]]
    >>>x.count(1)
    2
    >>>x.count([1,2])
    1
    

    5.2 extend

    extend 方法可以在列表的末尾一次性追加另一个序列中的多个值。

    >>>a = [1, 2, 3]
    >>>b = [4, 5, 6]
    >>>a.extend(b)
    >>>a
    [1, 2, 3, 4, 5, 6]
    

    extend 方法修改了被扩展的列表,而原始的连接操作(+)则不然,它会返回一个全新的列表。

    >>>a+b
    [1, 2, 3, 4, 5, 6, 4, 5, 6]
    

    5.3 index

    index 方法用于从列表中找出某个值第一个匹配项的索引位置

    print(names_class2.index('李四'))#1
    

    5.4 reverse

    reverse 方法将列表中的元素反向存放。

    names_class2 = ['张三', '李四', '王五', '赵六']
    names_class2.reverse()
    print(names_class2)#['赵六', '王五', '李四', '张三']
    
    大道理谁都懂,鸡汤也听过,可我们为什么还是过不好这一生。
  • 相关阅读:
    JS跨域
    Cookie的Domain
    Mvc自定义分页控件
    SQLServer日期函数
    IIS里面网站停止了,不能启动
    JS面向对象
    我已下定决心,回郴州老家发展
    支持向量机
    无监督降维:主成分分析法
    机器学习概念--偏差方差、Pipeline及模型正则
  • 原文地址:https://www.cnblogs.com/puqunzhu/p/9708466.html
Copyright © 2011-2022 走看看