zoukankan      html  css  js  c++  java
  • python--基础2 (数据类型及应用)

    资源池

    链接:https://pan.baidu.com/s/1OGq0GaVcAuYEk4F71v0RWw
    提取码:h2sd


    python数据类型

    1. 字符串
    2. 列表
    3. 字典
    4. 数字(整数)
    5. 数字(浮点数)
    6. 元组
    7. 集合
    8. 布尔类型
    9. 应用-数据类型转换、切片

    变量

    变量:变量是存储信息(数据)的容器。

    语法: [ 修饰符 ] 数据类型 变量名字 [赋值操作]

    变量的三要素:

    1. 数据类型
    2. 内存地址
    3. 变量的值

    变量的命名和使用

    1. 变量名只能包含数字,字母和下划线。
    2. 变量名不能包含空格,但可以使用下划线来分隔其中的单词。
    3. 不要将python关键字和函数名作为变量名。
    4. 变量名应既简短又具有描述性。

    1.字符串(str)

    字符串或串(String)是由数字、字母、下划线组成的一串字符。

    赋值

    方法1 单引号

    name='du'
    print(type(name))
    print(name)
    

    方法2 双引号

    name="du"
    print(type(name))
    print(name)
    

    方法3 三引号

    name='''
    du
    '''
    print(type(name))
    print(name)
    

    三种方法运行输出内容相同:

    <class 'str'>
    du
    
    

    应用

    index 取指定元素的下标(索引),如果没有取到报错

    a = 'aaadfdfdfkajfnskiddd'
    print(a.index('d'))
    
    ....运行结果
    
    3
    

    [] 根据索引取值或改值

    #获取索引位置元素值
    a = 'aaadfdfdfkajfnskiddd'
    print(a[6])
    
    ....运行结果
    
    f
    

    切片

    #根据索引位置左侧所有值
    a = 'aaadfdfdfkajfnskiddd'
    print(a[:6])
    
    ....运行结果
    
    aaadfd
    

    split 从左往右将字符串以指定分隔符切割成列表(可指定刀数)

    msg = '192.168.250.254'
    print(msg.split('.'))
    
    ...运行结果
    
    ['192', '168', '250', '254']
    
    msg = '192.168.250.254'
    print(msg.split('.',2))
    
    ...运行结果
    
    ['192', '168', '250.254']
    

    rsplit 从右往左将字符串以指定分隔符切割成列表(可指定刀数)

    join 把可迭代对象变成字符串(可迭代对象:列表,元组,字典,字符串,集合)

    res = ''.join(['1','2','3'])
    print(res)
    
    ...运行结果
    
    123
    

    replace 替换字符(可以指定替换次数)

    msg = '192.168.250.254'
    print(msg.replace('.','-'))
    
    ...运行结果
    
    192-168-250-254
    
    msg = '192.168.250.254'
    print(msg.replace('.','-',2))
    
    ...运行结果
    
    192-168-250.254
    

    strip去除字符串两边指定字符(默认空格)

    msg="======helloworld======"
    print(msg.strip('=')
    
    ...运行结果
    
    helloworld
    
    msg="======helloworld======"
    print(msg.lstrip('='))    #指定替换左侧 leaf
    
    ...运行结果
    
    helloworld======
    
    msg="======helloworld======"
    print(msg.rstrip('='))  #指定替换右侧 right
    
    ...运行结果
    
    ======helloworld
    

    encode把字符串变成bytes类型

    msg='你好'
    res = msg.encode('utf-8')
    print(res)
    
    ...运行结果
    
    b'xe4xbdxa0xe5xa5xbd'
    

    decode解码

    msg=b'xe4xbdxa0xe5xa5xbd'
    res = msg.decode('utf-8')
    print(res)
    
    ...运行结果
    
    
    

    格式化输出

    name = 'du'
    age = 23
    #第一种玩法
    res = 'my name is {}, my age is {}'.format(name,age)
    print(res)
    #第二种玩法
    res = 'my name is {1}, my age is {0}'.format(name,age)
    print(res)
    #第三种玩法
    res = 'my name is {n}, my age is {a},my small name si {n}'.format(a=age,n=name)
    print(res)
    
    ...运行结果
    
    my name is du, my age is 23
    my name is 23, my age is du
    my name is du, my age is 23,my  small name si du
    

    %s ,%d , %f 占位符,格式化输出

    %s -->string 字符串(不做改变)
    %d -->digit 数字(取整)
    %f -->floating 浮点数 (可设置保留小数点位数)

    high = 192.2
    res = 'my high is %s' % high
    print(res)
    
    ...运行结果
    
    my high is 192.2
    

    %.2f 保留两位小数

    a=7.5256664362
    print('%.2f' % a )
    
    ...运行结果
    
    7.53
    

    修改字符串大小写

    msg='Hello,World'
    print(msg.upper())
    print(msg.lower())
    
    ...运行结果
    
    HELLO,WORLD
    hello,world
    

    合并字符串

    msg1='hello'
    msg2='world'
    full_msg=msg1+' '+msg2
    print(full_msg)
    
    ...运行结果
    
    hello world
    

    2.列表 (list)

    List(列表) 是 Python 中使用最频繁的数据类型。
    列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
    列表用 [ ] 标识,是 python 最通用的复合数据类型。
    列表中可以保存多个有序数据。
    列表可以保存任意对象

    赋值

    a4 = [1,2,3,'a1',(123)]
    print(type(a4))
    print(a4)
    
    ...运行结果
    
    <class 'list'>
    [1, 2, 3, 'a1', 123]
    

    应用

    count统计指定元素个数

    students = ['f','a','b','c','d','d','1',2]
    print(students.count('d'))
    print(students.count(2))
    
    ...运行结果
    
    2
    1
    

    len统计列表长度(len函数可以统计所有可迭代对象的长度)

    students = ['f','a','b','c','d','d','1',2]
    print(len(students))
    
    ...运行结果
    
    8
    

    调用列表中的元素 :listname[索引]

    students = ['f','a','b','c','d','d','1',2]
    print(students[3])
    
    ...运行结果
    
    c
    

    index取指定元素的下标(索引),如果没有取到报错

    students = ['f','a','b','c','d','d','1',2]
    print(students.index('f'))
    
    ...运行结果
    
    0
    

    append会把指定元素追加到末尾

    students = ['f','a','b','c','d','d','1',2]
    students.append('sb250')
    students.append('sb250')
    print(students)
    
    ...运行结果
    
    ['f', 'a', 'b', 'c', 'd', 'd', '1', 2, 'sb250', 'sb250']
    

    remove 删除指定元素

    students = ['f','a','b','c','d','d','1',2]
    students.remove('f')
    print(students)
    
    ...运行结果
    
    ['a', 'b', 'c', 'd', 'd', '1', 2]
    

    可迭代对象包括:列表,字典,字符串,元组,集合

    extend把可迭代对象传入进去

    students = ['f','a','b','c','d','d','1',2]
    students.extend(['asd','qwe'])
    print(students
    
    ...运行结果
    
    ['f', 'a', 'b', 'c', 'd', 'd', '1', 2, 'asd', 'qwe']
    

    3.字典(dict)

    字典的值(value)可以是任意对象
    字典的键(key)可以是任意不可变对象(int、str、bool、tuple。。。。)常用str
    字典的键(key)不可以重复,重复后面的值会覆盖前面的值

    赋值

    list1 = {'name':'007','age':88}
    list2={
        'name':'007',
        'age':88
    }
    print(type(list1))
    print(list2)
    
    ...运行结果
    
    <class 'dict'>
    {'name': '007', 'age': 88}
    

    应用

    update把两个字典合并成一个字典(更新)

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    info2 = {
        'telephone':110,
        'name':'007'
    }
    
    info1.update(info2)
    print(info1)
    print(info2)
    
    ...运行结果
    
    {'name': '蒋介石', 'high': 190, 'weight': 160, 'telephone': 110}
    {'telephone': 110, 'name': '007'}
    

    items将所有键值对全部打印出来

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    
    print(info1.items())
    
    ...运行结果
    
    dict_items([('name', 'du'), ('high', 190), ('weight', 160)])
    

    keys打印字典中所有的key

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    print(info1.keys())
    
    ...运行结果
    
    dict_keys(['name', 'high', 'weight'])
    

    values打印字典中所有的value

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    
    print(info1.values())
    
    
    ...运行结果
    
    dict_values(['du', 190, 160])
    

    get通过key取value,如果取不到返回None,不能重新赋值
    []通过key取value,如果取不到报错,可以重新赋值的

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    
    print(info1.get('aa'))
    info1['name'] = '007'
    print(info1)
    
    ...运行结果
    
    None
    {'name': '007', 'high': 190, 'weight': 160}
    

    字典添加键值对

    info1 = {
        'name':'du',
        'high':190,
        'weight':160,
    }
    
    info1['age']=88
    
    print(info1)
    
    
    ...运行结果
    
    {'name': 'du', 'high': 190, 'weight': 160, 'age': 88}
    

    4.数字(整数)(int)

    Python支持四种不同的数字类型:

    • 数字数据类型用于存储数值。他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
    • int(有符号整型)
    • long(长整型[也可以代表八进制和十六进制])
    • float(浮点型)
    • complex(复数)

    赋值

    num = 250
    print(type(num))
    print(num)
    
    ...运行结果
    
    <class 'int'>
    250
    

    应用

    在python中可以对整数进行加(+)减(-)乘(*)除(/)

    5.浮点数(float)

    赋值

    num= 11.1
    print(type(num))
    print(num)
    
    ...运行结果
    
    <class 'float'>
    11.1
    

    6.元组(tuple)

    元组不能二次赋值,相当于只读列表。

    赋值

    num = (1,2,3,4,[1,2,3,(1,2,3)])
    print(type(num))
    print(num)
    
    ...运行结果
    
    <class 'tuple'>
    (1, 2, 3, 4, [1, 2, 3, (1, 2, 3)])
    

    应用

    • 列表可读可修改,元组一般是用来读的
    • 在相同元素的情况下,列表会占用的资源更多一些

    7.集合(set)

    集合和列表非常相似
    不同点:

    • 集合中只能存储不可变对象
    • 集合中存储对象是无序的(不是按照元素的插入顺序保存的)
    • 集合中不能出现重复的元素

    赋值

    num = {1,2,3,3,3,3,3}
    print(type(num))
    print(num)
    
    ...运行结果  (集合可以自动去重)
    
    <class 'set'>
    {1, 2, 3}
    
    

    注:xxx={} 为字典

    8.布尔(bool)

    赋值

    a = ''
    print(type(True))
    if a:
        print('真')
    else:
        print('假')
    
    ...运行结果 
    
    <class 'bool'>
    假
    

    应用

    两种值:Ture和False
    python 中:空,0,None全部为假,其余全部为真


    应用

    数据类型转换

    函数 作用
    int(x) 将x转换成整数类型
    float(x) 将x转换成浮点数类型
    str(x) 将x转换成字符串
    repr(x) 将x转换成表达式字符串
    chr(x) 将整数x转换成一个字符
    ord(x) 将一个字符x转成他对应的整数值

    切片

  • 相关阅读:
    代码习惯
    全网最详细的fhq treap (非旋treap)讲解
    按位或「HAOI2015」
    列队「NOIP2017」
    愤怒的小鸟「NOIP2016」
    能量传输「CSP多校联考 2019」
    矿物运输「CSP多校联考 2019」
    普通打击「CSP多校联考 2019」
    普通快乐「CSP多校联考 2019」
    BZOJ4385: [POI2015]Wilcze doły
  • 原文地址:https://www.cnblogs.com/du-z/p/11011519.html
Copyright © 2011-2022 走看看