• 基本数据类型


    1.字符串

    1、用途:

    记录描述性质的状态

    2、定义方式:

    在单引号、双引号、三引号内包含的一串字符
    msg = "[1,2,3]" # msg=str("[1,2,3]")

    数据类型转换:str可以把任意类型转换成字符串类型
    str([])

    3、常用操作+内置的方法

    优先掌握的操作:

    1、按索引取值(正向取+反向取) :只能取
    msg='hello你好'
    print(msg[0]) # 取出的由单一字符组成的str
    print(msg[5])
    print(msg[-1])
    
    l=[1111,222]
    l[0]=3333
    print(l)
    
    msg="hello"
    msg[0]="H"
    
    2、切片(顾头不顾尾,步长)
    msg = 'hello你好'
    print(msg[1:6]) # ello你
    print(msg)  #字符串不会变
    
    print(msg[1:6:1]) # 默认步长,1 2 3 4 5
    print(msg[1:6:2]) # 默认步长,1 3 5
    
    
    print(msg[:6:2]) # 省略起始位置,默认起始位置为0
    print(msg[::2]) # 省略结束位置,默认一直到末尾全部都取到
    print(msg[::]) # 省略步长,默认步长为1
    print(msg[:]) # 省略步长,默认步长为1
    
    了解:
    msg='hello你好'
    print(msg[0:5:1])
    print(msg[0:5:-1])
    方向需要保持一致才行
    print(msg[-1:-5:-1]) # -1 -2 -3 -4
                         好  你  o  l
    
    msg = 'hello你好'
    print(msg[::-1]) # -1
    
    3、长度len
    msg = 'hello 
    你好'
    print(len(msg)) # 统计的是字符的个数
    
    4、成员运算in和not in
    msg = 'hello 你好'
    print("你好" in  msg)
    print("你好" not in msg) # 推荐使用
    print(not "你好" in msg) # 不推荐使用
    
    5、移除空白strip
    msg="      hello   "
    res=msg.strip()
    print(res)
    
    msg="    	  
     hello   	"
    res=msg.strip() # 默认去掉的是字符串左右两端的空白字符串
    print(res)
    
    msg="    	  
     he    llo   	"
    res=msg.strip() # 默认去掉的是字符串左右两端的空白字符串
    print(res)
    
    msg="*()-=hello()*&#@!"
    res=msg.strip("()*=-!&#@")
    print(res) # 得到的是新字符串,没有改变原来的
    print(msg)
    
    
    user = input('用户名>>>: ').strip()  # user="egon       "
    password = input('密码>>>: ').strip()
    if user == "egon" and password == "123":
        print('账号密码正确')
    else:
        print("账号或密码输入错误")
    
    6、切分split
    msg="a:b:c:d"
    res=msg.split(':')
    print(res)
    
    msg="hello 你 好"
    print(msg.split(' '))
    
    
    msg="a:b:c:d"
    res=msg.split(':')
    
    把列表拼成一个str,列表中的元素必须全部为str类型
    print(res)
    print(":".join(res)) # 'a'+":"+'b'+":"+'c'+':'+"d"
    print("-".join(res))
    print("=".join(res))
    
    7、循环
    for x in "hello 你好":
        print(x)
    

    4.需要掌握的操作

    1、strip,lstrip,rstrip
    msg="*****hello*****"
    print(msg.strip('*'))
    print(msg.lstrip('*'))
    print(msg.rstrip('*'))
    
    2、lower,upper
    msg="aABc你1"
    print(msg.lower())
    print(msg.upper())
    
    3、startswith,endswith
    msg = "dsb lxx is sb"
    print(msg.startswith("ds"))
    print(msg.endswith("sb"))
    
    4、format的三种玩法
    print("my name is %s %s" % ("egon",18))
    
    print("my name is {} {}".format("egon",18))
    print("my name is {x} {y}".format(y=18,x="egon"))
    print("my {1}name is {0} {0}{1}{1}".format("egon",18))
    
    x='egon'
    y=18
    print(f"=====>{x}===>{y}")
    
    5、split,rsplit
    print("egon:18:male:10".split(':',2))
    print("egon:18:male:10".split(':',1))
    print("egon:18:male:10".rsplit(':',1))
    
    6、join
    从可迭代对象中取出多个字符串,然后按照指定的分隔符进行拼接,拼接的结果为字符串
    >>> '%'.join('hello') # 从字符串'hello'中取出多个字符串,然后按照%作为分隔符号进行拼接
    'h%e%l%l%o'
    >>> '|'.join(['tony','18','read'])  # 从列表中取出多个字符串,然后按照*作为分隔符号进行拼接
    'tony|18|read'
    
    7、replace
    msg="*()-=he       llo()*&#@!"
    res=msg.strip("()*=-!&#@").replace(' ','')
    print(res)
    
    print('my name is sb sb sb'.replace('sb','SB',1))
    
    8、isdigit
    age="18**** "
    print(age.isdigit())
    
    age = input('>>>: ')  # age = "***18_++_ "
    if age.isdigit():
        age = int(age)
        if age > 18:
            print('猜大了')
        elif age < 18:
            print("猜小了")
        else:
            print('猜对了')
    else:
        print("必须输入数字,小垃圾")
    

    了解操作

    1、find,rfind,index,rindex,count
    print("=abcdefab".find("ab")) # 查找一个子字符串在大字符串中出现的起始位置
    print("=adcabdefab".find("ab",0,6)) # 查找一个子字符串在大字符串中出现的起始位置
    print("=adcabdefab".rfind("ab")) # 查找一个子字符串在大字符串中出现的起始位置
    print("====".index("ab")) # 找不到则报错,而find则会返回-1
    
    2、center,ljust,rjust,zfill
    print("egon".center(50,'*'))
    print("egon".ljust(50,'*'))
    print("egon".rjust(50,'*'))
    print("egon".zfill(50))
    
    3、expandtabs
    4、captalize,swapcase,title
    print("my name is egon".capitalize())
    print("AbCd".swapcase())
    print("my name is egon".title())
    
    5、is数字系列
    在python3中
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='四' #中文数字
    num4='Ⅳ' #罗马数字
    
    
    isdigit():用于b和u格式,即num1和num2
    isdecimal():用于u格式,即num2
    isnumberic():用于u,中文数字、罗马数字,即num2、num3、num4
    
    
    isdigt:bytes,unicode
    print(num1.isdigit()) #True
    print(num2.isdigit()) #True
    print(num3.isdigit()) #False
    print(num4.isdigit()) #False
    
    isdecimal:uncicode
    bytes类型无isdecimal方法
    print(num2.isdecimal()) #True
    print(num3.isdecimal()) #False
    print(num4.isdecimal()) #False
    
    isnumberic:unicode,中文数字,罗马数字
    bytes类型无isnumberic方法
    print(num2.isnumeric()) #True
    print(num3.isnumeric()) #True
    print(num4.isnumeric()) #True
    
    三者不能判断浮点数
    num5='4.3'
    print(num5.isdigit())
    print(num5.isdecimal())
    print(num5.isnumeric())
    
    6、is其他
    name='egon123'
    print(name.isalnum()) #字符串由字母或数字组成
    print(name.isalpha()) #字符串只由字母组成
    
    name="====>inputasd" # "input" in name
    print(name.isidentifier())
    
    name="egon"
    print(name.islower())
    print(name.isupper())
    
    name="       "
    print(name.isspace())
    
    name="My Name Is"
    print(name.istitle())
    

    字符串总结

    存一个值or存多个值
    存一值

    有序or无序
    有序

    可变or不可变(1、可变:值变,id不变。可变不可hash 2、不可变:值变,id就变。不可变可hash)
    不可变

    2.列表

    1、用途:

    按照位置存多个值

    2、定义方式:

    在[]内用逗号分隔开多个任意类型的值

    l = [111, 3.1, "abc", []]  # l=list(...)
    print(type(l))
    

    类型转换

    list(传入的可以是任意能够被for循环遍历的类型)
    print(list("hello"))
    print(list(["a",'b']))
    print(list({"k1":11,'K2':222}))
    

    3、常用操作+内置的

    方法

    优先掌握的操作:

    1、按索引改、取值(正向存取+反向存取):即可改也可以取

    l=[111,222,333,444,555]
    l[0]=1231231231231231231
    print(l)
    
    l[5]=666 # 超出索引范围则报错,即不能用这种赋值操作为列表增加值
    
    #### 
    

    2、切片(顾头不顾尾,步长)

    l=[111,222,333,444,555]
    res=l[0:3]
    print(res)
    print(l)
    

    3、长度

    l=[111,222,333,444,555]
    print(len(l))
    

    4、成员运算in和not in

    l=[111,222,333,444,555]
    print(111 in l)
    print(111 not in l)
    

    5、追加

    l=[111,222,333,444,555]
    l.append(666)
    l.append(777)
    print(l)
    

    5.1 往指定位置前插入值insert

    l.insert(0,123123231231)
    print(l)
    

    6、删除

    l=[111,"aaa",222,333,444,555]
    a:del是通用的、不是列表专属的删除方式
    del l[0]
    print(l)
    
    b:列表专属的删除方式之指定元素删除
    res=l.remove("aaa")
    print(l)
    print(res) # None
    
    c:列表专属的删除方式之指定索引删除
    l.pop() # 默认删除的是索引-1对应的值
    print(l)
    
    res=l.pop(1)
    print(l)
    print(res)
    

    7、循环

    l=[111,"aaa",222,333,444,555]
    for item in l:
        print(item)
    

    需要掌握的操作

    1.count

    l=[111,222,111,111]
    print(l.count(111))
    
    l = [10, -1, 3, 2, 11, 7]
    
    #### 2.l.sort(reverse=True)
    
    print(l)
    
    l = [10, -1, 3, 2, 11, 7]
    
    #### l.clear()
    
    print(l)
    
    l=['a',1,'b']
    
    #### l.reverse()
    
    print(l)
    
    l=[11,22,33]
    
    #### l.extend([444,555,66])
    
    print(l)
    
    #### l.append([444,555,666])
    
    print(l)
    
    l1=[11,22,33]
    l1列表内存存储
    索引0 值11的内存地址
    索引1 值22内存地址
    索引2 值33内存地址
    
    l2=l1.copy() # 等同于l4=l1[:]
    l2列表内存存储
    索引0 值11的内存地址
    索引1 值22内存地址
    索引2 值33内存地址
    l2[0]=4444
    print(l2) # [4444, 22, 33]
    print(l1) # [11, 22, 33]
    
    l3=l1
    l3[0]=4444
    print(l3)
    print(l1)
    

    列表总结

    存多个值

    有序

    可变

  • 相关阅读:
    document.compatMode的CSS1compat
    js自运行函数
    Sublime Text 3 入门(插件控制台安装)
    javascript 面向对象技术
    jQuery ui 中文日历
    js给数字加三位一逗号间隔的两种方法(面试题)
    android eclipse集成环境
    中科红旗倒下,谁来挑战windows
    在网站制作中随时可用的10个 HTML5 代码片段
    IE6/IE7中li底部4px的Bug
  • 原文地址:https://www.cnblogs.com/lgh8023/p/13067682.html
Copyright © 2020-2023  润新知