zoukankan      html  css  js  c++  java
  • python 基础二

    python 基础二 (基础数据类型)

    一、基础数据类型

    1. int

          表现类型:' 2,3,。。。' 主要用于计算,运算,

    #bit_lenght() 当十进制用二进制表示时,最少使用的位
    a = 12
    data = a.bit_length()
    print(data) #return 4

       2.str

        ‘hello’,‘NIHAO’,‘哦’...少量的数据用于存储

         2.1、字符串的索引与切片

        索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推

        

    a = 'qweerttyui'
    print(a[0])
    print(a[1])
    print(a[2])
    print(a[3])
    print(a[4])
    print(a[5])

         切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)

      

    a = 'ABCDEFGHIJK'
    print(a[0:3])
    print(a[2:5])
    print(a[0:]) #默认到最后
    print(a[0:-1]) #-1就是最后一个
    print(a[0:5:2]) #加步长
    print(a[5:0:-2]) #反向加步长

        2.2、字符串的常用方法

    #captalize,swapcase,title
    print(name.capitalize()) #首字母大写
    print(name.swapcase()) #大小写翻转
    msg='egon say hi'
    print(msg.title()) #每个单词的首字母大写
    
    # 内同居中,总长度,空白处填充
    ret2 = a1.center(20,"*")  
    print(ret2)
    
    #数字符串中的元素出现的个数。
    # ret3 = a1.count("a",0,4) # 可切片
    # print(ret3)
    
    a2 = "hqw	"
    #	前面的补全
    # 默认将一个tab键变成8个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
    ret4 = a2.expandtabs()
    print(ret4)
    
    a4 = "dkfjdkfasf54"
    #startswith 判断是否以...开头
    #endswith 判断是否以...结尾
    # ret4 = a4.endswith('jdk',3,6)  # 顾头不顾腚
    # print(ret4)  # 返回的是布尔值
    # ret5 = a4.startswith("kfj",1,4)
    # print(ret5)
    
    #寻找字符串中的元素是否存在
    # ret6 = a4.find("fjdk",1,6)
    # print(ret6)  # 返回的找到的元素的索引,如果找不到返回-1
    
    # ret61 = a4.index("fjdk",4,6)
    # print(ret61) # 返回的找到的元素的索引,找不到报错。
    
    #split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
    # ret9 = 'title,Tilte,atre,'.split('t')
    # print(ret9)
    # ret91 = 'title,Tilte,atre,'.rsplit('t',1)
    # print(ret91)
    
    #format的三种玩法 格式化输出
    res='{} {} {}'.format('egon',18,'male')
    res='{1} {0} {1}'.format('egon',18,'male')
    res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
    
    #strip
    name='*egon**'
    print(name.strip('*')) 
    print(name.lstrip('*'))
    print(name.rstrip('*'))
    
    #replace
    name='alex say :i have one tesla,my name is alex'
    print(name.replace('alex','SB',1))
    
    #####is系列
    name='jinxin123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    print(name.isdigit()) #字符串只由数字组成
    str——view code

        3.bool

        真  1  True

        假  0  Flase

    ----插语: 我喜欢35,我一直以为是pink呢,原来是紫红。。

    #print输出,改变背景颜色 
    格式:33[显示方式;前景色;背景色m
      
    说明:
    前景色            背景色           颜色
    #
    li = [1,'a','b',2,3,'a']
    # li.insert(0,55) #按照索引去增加
    # print(li)
    #
    # li.append('aaa') #增加到最后
    # li.append([1,2,3]) #增加到最后
    # print(li)
    #
    # li.extend(['q,a,w']) #迭代的去增
    # li.extend(['q,a,w','aaa'])
    # li.extend('a')
    # li.extend('abc')
    # li.extend('a,b,c')
    # print(li)
    #
    # l1 = li.pop(1) #按照位置去删除,有返回值
    # print(l1)
    
    # del li[1:3] #按照位置去删除,也可切片删除没有返回值。
    # print(li)
    
    # li.remove('a') #按照元素去删除
    # print(li)
    
    # li.clear() #清空列表
    #
    # li = [1,'a','b',2,3,'a']
    # li[1] = 'dfasdfas'
    # print(li)
    # li[1:3] = ['a','b']
    # print(li)
    #
    切片去查,或者循环去查
    
    
    
    ---------------------------------------
    30                40              黑色
    31                41              红色
    32                42              绿色
    33                43              黄色
    34                44              蓝色
    35                45              紫红色
    36                46              青蓝色
    37                47              白色
    显示方式           意义
    -------------------------
    0                终端默认设置
    1                高亮显示
    4                使用下划线
    5                闪烁
    7                反白显示
    8                不可见
      
    例子:
    033[1;31;40m    <!--1-高亮显示 31-前景色红色  40-背景色黑色-->
    033[0m          <!--采用终端默认设置,即取消颜色设置-->

     二、列表

     增删改查

    #
    li = [1,'a','b',2,3,'a']
    # li.insert(0,55) #按照索引去增加
    # print(li)
    #
    # li.append('aaa') #增加到最后
    # li.append([1,2,3]) #增加到最后
    # print(li)
    #
    # li.extend(['q,a,w']) #迭代的去增
    # li.extend(['q,a,w','aaa'])
    # li.extend('a')
    # li.extend('abc')
    # li.extend('a,b,c')
    # print(li)
    
    #
    # l1 = li.pop(1) #按照位置去删除,有返回值
    # print(l1)
    
    # del li[1:3] #按照位置去删除,也可切片删除没有返回值。
    # print(li)
    
    # li.remove('a') #按照元素去删除
    # print(li)
    
    # li.clear() #清空列表
    
    
    #
    # li = [1,'a','b',2,3,'a']
    # li[1] = 'dfasdfas'
    # print(li)
    # li[1:3] = ['a','b']
    # print(li)
    #
    切片去查,或者循环去查。
    增删改查

    其他操作

    #通过元素找索引
    # print(list.index(2))
    
    #sort reverse
    # li = [1,2,3,4,7,9,6,5]
    # li.sort()
    # print(li)
    # li.sort(reverse=True)
    # print(li)
    
    #reverse 反向排列
    
    #l1 = [1, 2, 'alex', 'wusir',['oldboy', 'ritian', 99], 'taibai']
    #1 #第一种
    # l1[2] = 'ALEX'
    # print(l1)
    # #第二种
    # l1.pop(2)
    # l1.insert(2,'alex'.upper())
    # print(l1)
    # l1[2] = l1[2].upper()
    #2
    # l1[4].append('女神')
    # print(l1)
    #3
    # l1[4][1] = l1[4][1].capitalize()
    # print(l1)
    #4
    # l1[-2][-1] = str(l1[-2][-1] +1)
    # print(l1)
    #字符串拼接
    # l1[-2][-1] = str(l1[-2][-1]) + '1'
    # print(l1)

    三、元组

      元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    四、字典

     字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,如:数字、字符串、元组。

      字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    增删改查

    #字典3.6版本之前,字典是无序的,暂定之后是有序的
    dic = {'name':'taibai', 'age':21, 'habby':'gril'}
    
    #
    dic['name'] = 'ritian'
    print(dic)
    dic.setdefault() #有则不变,无则添加
    dic.setdefault('high',180)
    dic.setdefault('name','ritian')
    print(dic)
    
    #
    print(dic.pop('name')) #返回对应的值
    print(dic)
    print(dic.pop('name1',None))
    dic.clear() #清空
    print(dic)
    
    del dic
    print(dic)
    
    del dic['age']
    print(dic)
    
    print(dic.popitem()) #3.6之前,随机删除,之后不确定
    print(dic)
    #
    dic['name'] = '老男孩'
    
    dic2 = {'name':'alex','weight':75}
    dic2.update(dic) #将dic的建值对覆盖添加到dic2中,dic不变
    print(dic)
    print(dic2)
    
    #
    print(dic['name'])
    print(dic.get('name','sb代')) #如果没有返回None,也可以设置返回值
    
    #keys() values() items()
    print(dic.keys())
    for i in dic.keys():
        print(i)
    print(dic.values())
    for i in dic.values():
        print(i)
    print(dic.items())
    for i in dic.items():
        print(i)
    
    #分别赋值
    a,b = 1,2
    a,b,c = ['yoyo', 'xiaolou', 'rita'] #必须元素与变量数量一致
    print(a,b,c)
    a = 1
    b = 5
    a,b = b,a
    print(a,b)
    for k, v in dic.items():
        print(k, v)
    
    #len
    print(len(dic))

    fromkeys与字典的嵌套使用

    #fromkeys
    dic1 = dic.fromkeys('abc', '张三')
    dic2 = dic.fromkeys([1, 2, 3], '李四')
    print(dic2)
    dic3 = dic.fromkeys('abc', [])
    dic3['a'].append('老男孩')
    print(dic3)
    
    #字典的嵌套
    dic = {
        'name_list':['b哥', '张帝', '人帅', 'kitty'],
        '老男孩':{
            'name':'老男孩',
            'age': 46,
            'sex': 'ladyboy'
        },
    }
    #1
    dic['name_list']=dic['name_list'].append('骑兵')
    #2
    dic['name_list'][-1] = dic['name_list'][-1].upper()
    # print(dic)
    #3
    #dic.popitem()
    dic.setdefault('oldboy',{'name':'oldboy','age': 46, 'sex': 'ladyboy'})
    #4
    dic['oldboy']['sex'] = dic['oldboy']['sex'].capitalize()
    dic['老男孩'].setdefault('name','oldboy')
    print(dic)
    View Code

    五、其他(for,enumerate,range)

    for循环:用户按照顺序循环可迭代对象的内容。

    复制代码
    msg = '老男孩python是全国范围内最好的python培训机构'
    for item in msg:
        print(item)
    
    li = ['alex','银角','女神','egon','太白']
    for i in li:
        print(i)
    
    dic = {'name':'太白','age':18,'sex':'man'}
    for k,v in dic.items():
        print(k,v)
    复制代码

    enumerate:枚举,对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值。

    复制代码
    li = ['alex','银角','女神','egon','太白']
    for i in enumerate(li):
        print(i)
    for index,name in enumerate(li,1):
        print(index,name)
    for index, name in enumerate(li, 100):  # 起始位置默认是0,可更改
        print(index, name)    
    复制代码

    range:指定范围,生成指定数字。

    复制代码
    for i in range(1,10):
        print(i)
    
    for i in range(1,10,2):  # 步长
        print(i)
    
    for i in range(10,1,-2): # 反向步长
        print(i)

      

    ps:这个知识点知道的人太多了,本来不想写的,最后还是抄了上来,迷之脑袋,基础搞差不多了,多撸撸代码,让这些知识变成自己的,都在努力中

                                      ----LDoctor

  • 相关阅读:
    date题解
    pencil题解
    20155326 2017-2018-1 《信息安全系统设计基础》第5周学习总结
    2017-2018-1 20155326 20155320 实验一 开发环境的熟悉
    2017-2018-1 20155326 《信息安全系统设计基础》第四周学习总结及myod改进版的补交
    2017-2018-1 20155326 《信息安全系统设计基础》第三周学习总结
    20155326 2017-2018-1 《信息安全系统设计基础》第2周学习及课堂总结myod
    20155326 2017-2018-1 《信息安全系统设计基础》第1周学习总结
    20155326 《Java程序设计》实验五网络编程与安全实验报告
    20155326 2016-2017-2《Java程序设计》课程总结
  • 原文地址:https://www.cnblogs.com/lyh0301/p/8811026.html
Copyright © 2011-2022 走看看