zoukankan      html  css  js  c++  java
  • day4 数据基础

    ---恢复内容开始---

    一、编码知识的回顾:1)ascii: 最开始是简单的密码本,一个字符八个字节,最左边都是0;                                                                   

                                                     (2)万国码,unicode,目前两个版本,两个字节(16位)表示一个字符,四个字节(32位)表示一个字符。

                                                     (3)unicode 的升级  ——utf-8:用最少的位数(字节)表示一个字符,英文字符:

                                                              一个字节,欧洲有些语言用两个字节表示,亚洲等国家用三个字节来表示;

                                                      (4)gbk :中国特有的:两个字节表示一个字符。        

     二、  例题: "李洁”用utf-8表示有6个字节。gbk:四个字节                                                                                                                    

                                 字符串与数字之间的转换的条件是什么? int(True)==1    int(False)==0

     面试题:

    print(int(True))    # 1
    print(int(False))   #0
    print(bool(1))  #True
    print(bool(0))  #False

     优先级:

    ()>not>and>or

    print(1 or 1>4)     #1
    print(1>1 or 2)     #2
    print(3 and 0)      #0
    print(2>1 or 3>4 and 5)     #True
    print(1 or 3 or 3>4 and 5)      #1

     三、数据的基本类型

    1、int. 数字,运算。1、2、3、。。

    2、bool  判断真假:True     False

    3、str简单少量的储存数据,并进行相应的操作

    4、tupe   元组  (2,“sdsf”)

    5、list   列表:大量数据储存 [1,"sdsfew",True,["fdss]

    6、dict:  字典{“name”:"hao","age":18}

    7、set 集合

    (1)首字母大写 其余小写

    ret="asdDDse"
    ret1=ret.capitalize()
    print(ret1)     # Asdddse

    (2)   upper     lower   全部变成大写或者小写

    ret="asdDDse"
    ret2=ret.upper()
    print(ret2)                 #ASDDDSE
    ret3=ret.lower()
    print(ret3)                #asdddse 

    例子 验证码的输入

    name="LiuYahong".upper()
    name1=input("请您输入验证码,不区分大小写").upper()
    if  name1==name:
        print("验证码正确!")
    else:print("验证码错误,请您重新输入")

    (3)swapcase  大小写字母翻转

    ret="asd,dDse"
    ret4=ret.swapcase()
    print(ret4)       #ASD,DdSE

    (4)center      居中    (重要)

    ret="asddDse"
    ret5=ret.center(20)
    ret6=ret.center(20,"*")
    print(ret5)                      #      asddDse       
    print(ret6)                      #******asddDse*******

    (5)startswith    endswith     切片 查找元素返回bool值

    ret="asddDse"
    ret7=ret.startswith("a")
    ret8=ret.startswith("b")
    print(ret7)                          #True
    print(ret8)                           #False
    ret9=ret.endswith("e")
    print(ret9)                           #True
    ret10=ret.startswith("d",2,5)         (切片)
    print(ret10)                          #True

    (6)count   计算某元素的数量 可以切片

    ret="asddDse"
    ret12=ret.count("d")
    print(ret12)                        #2
    ret14=ret.count("w")
    print(ret14)                           #0
    ret13=ret.count("d",1,4)       (切片)
    print(ret13)                          #2

    (7)exspantabs  默认将第一个tab键变成8个空格,如果tab前不足8个则补全,如果tab键前面的字符超过八个则按八的倍数补全

    ret="asddDs333333e	"
    ret15=ret.expandtabs()       
    print(ret15)                           #asddDs333333e  
    print(len(ret15))                      #16

    (8)find   index   *find 通过元素查找索引(找到第一个元素),找不到则返回-1   

                                  index通过元素查找索引 ,找不到则报错

    ret="asddDse"
    ret16=ret.find("a")
    print(ret16)                       #0
    ret17=ret.find("f",0,5)          (可切片)
    print(ret17)                       #-1

    (9)strip 两端消除空格(可以去掉指定的字符在两端的,不允许有空格)  lstrip左端消除  rstrip右端消除

    可以删除指定元素

    ret="   asddDse    "
    print(ret.strip())           #asddDse
    print(ret.rstrip())          #   asddDse
    print(ret.lstrip())          #asddDse   
    ret="asddDse    "
    print(ret.strip("a")) #asddDse
     
    print(name.lstrip("al"))     #2)移除name变量左边的’al’并输出处理结果
    print(name.rstrip("Nb")) #3)移除name变量右面的’Nb’,并输出处理结果
    print(name.strip("ab")) #4)移除name变量开头的a’与最后的’b’,并输出处理结果
     

     (10)split  将字符串分割成列表(以空格 指定字母为界限  可以指定步长)

    ret="as   ddD  se222222222222"
    print(ret.split())           #['as', 'ddD', 'se222222222222']
    print(ret.split("s"))      #['a', '   ddD  ', 'e222222222222']
    print(ret.split("s",1))   #['a', '   ddD  se222222222222']

    (11)replace  替换元素(可以设置替换次数)

    ret="asddDse"
    print(ret.replace("a","f"))       #fsddDse
    print(ret.replace("d","w",1))      #aswdDse

    (12)format  格式化输出

    第一种方法:
    ret18="name:{},add:{},age:{}".format("liu","china",24) print(ret18) #name:liu,add:china,age:24
    第二种方法
    ret19="name:{0},add:{1},age:{2},name:{0}".format("liu","china",24)
    print(ret19)
               #name:liu,add:china,age:24,name:liu
    第三种方法:键值对
    ret20="name:{name},add:{add},age:{sge}".format(name="liu",add="china",sge=24)
    print(ret20)
                #name:liu,add:china,age:24

    (13)isalnum    isdigit    isalpha    判断字符串的组成返回bool值

    ret21="123fdsfvg31"
    print(ret21.isalnum())      #字符串由字母或者数字组成  True  
    print(ret21.isdigit())      #字符串只由数字组成             False  
    print(ret21.isalpha())      #字符串只由字母组成             False

    (14)例子:打印字符串 利用while循环 或者if 条件语句

    1、改变条件

    ret="123fdsfvg31"
    index=0
    while index<len(ret):
        print(ret[index])
        index+=1

    2、break 结束

    ret="123fdsfvg31"
    index=0
    while  True:
        #if index !=len(ret):
            print(ret[index])
            index+=1
        #else:
            if index ==len(ret):
                break

    15、for 循环   for 变量 in可迭代对象

    (接上个打印字符串的例子)第三种方法

    ret="123fdsfvg31"
    for i in ret:
        print(i)

    例子:计算字符串中的数字数量(利用for循环)

    ret="123fdsfvg31"
    count=0
    for i in ret:
        if i.isdigit():
            count+=1
        else:continue
    print(count)            #5

     16、bit_length()    int(数字类型)查看数字所占的二进制的位数

    v = 16
    data = v.bit_length()
    prin数字t(data)           #4

    17、bool与 str 之间的转换      bool   = True(1)  False(0)   

         非空字符串转换成bool值是True     空字符串转换成bool值是False

    bool ——str
    print(str(True),type(str(True)))          #True <class 'str'>
    print(str(False))                               #False
    
    int——bool                                        #True
    print(bool(1))
    print(bool(0),type(bool(0)))            #False <class 'bool'>
    
    bool——int
    print(int(True),type(int(True)))         #1 <class 'int'>
    print(int(False))                               #0

    18、例子 空字符串

    name="  "                表示空格代表的是True
    if name:
        print("输入正确内容")
    else:
        print("请重新输入")            
    
    
    #输入正确内容

    19、索引和切片

    索引和切片[起始位置:结束位置;步长]

    name="我爱中华,我爱中国"
    print(name[0:1])                     #
    print(name[1:6:2])                 #爱华我
    print(name[:7])                    #我爱中华,我爱
    print(name[2:-1])                   #中华,我爱中
    print(name[:])                      #我爱中华,我爱中国
    print(name[::-3]) #国我中

      

     

  • 相关阅读:
    图像检索(image retrieval)- 11
    图像检索(image retrieval)- 10相关
    Mock.js简易教程,脱离后端独立开发,实现增删改查功能
    Azure Monitor (3) 对虚拟机磁盘设置自定义监控
    Azure Monitor (1) 概述
    Azure SQL Managed Instance (2) 备份SQL MI
    Azure Virtual Network (17) Private Link演示
    Azure Virtual Network (16) Private Link
    Azure Virtual Network (15) Service Endpoint演示
    Azure Virtual Network (14) Service Endpoint服务终结点
  • 原文地址:https://www.cnblogs.com/number1994/p/7854360.html
Copyright © 2011-2022 走看看