03_Python数据类型(一)

 

1.数据类型种类

INT:  用于计算;
STR:  存储少量的数据;
BOOL: 两种状态值True和False;
LIST: 可修改, 可存储各种数据类型的数据, 大量的数据, 易于操作;
TUPLE:不能修改;
DICT: 由键值对所组成的数据, 存储大量的数据, 关系型数据;
SET:  集合(交集/并集/合集/差集);

 

2.数字(INT)

单位类型:
    int:   整数型;
    long:  长整型(较长的数字);
    float: 浮点数;
    complex: 复数;

功能方法:
    bit_length: 十进制转二进制的有效位数;
        name = 4 -> 0000 0100  -> 3位

 

3.布尔值(BOOL)

两种状态:
    TRUE:  1/真;
    FALSE: 0/假;

    注意:编程语言的布尔值和BASH里面状态是相反的;

数字和字符串转换:
    INT -> STR: int(str);
    STR -> INT: str(int);条件是字符串必须全部由数字组成;

数字和布尔值转换:
    BOOL -> INT: 数字1为TRUE且0为FALSE;
    INT -> BOOL: 数字1为TRUE且非0FALSE;

布尔值和字符串转换:
    BOOL -> STR: str(True)/str(False);
    STR -> BOOL: "非空字符串"为TRUE、"空字符串"为FALSE;

    注意:字符转布尔可用于进行判断变量是否为"非空"""的状态;

 

 

4.字符串(STRING)

索引:[START|-START]
    str = "12345678ab"
    print(str[0])
    print(str[1])
    print(str[-1])
    print(str[-2])

切片:[START|-START:END|-END]
    str = "12345678ab"
    print(str[0:])
    print(str[:9])
    print(str[:-1])
    print(str[-2:])
    print(str[0:8])
    print(str[4:7])
    print(str[-11:-2])

    注意:切片方法只顾头不固定(因此必须+1);
        name = "123456789"
        print(name[-9:-1])

步长:[START|-START:END|-END:STEP|-STEP]
    str = "12345678ab"
    print(str[0::2])      # 将字符串从头到任意结尾且每隔一个打印;
    print(str[:9:2])      # 将字符串从任意开头到尾且每个一个打印;

    print(str[9::-1])     # 将字符串反转获取显示;
    print(str[-1:-11:-1]) # 将字符串反转获取显示;
    print(str[9::-2])     # 将字符串反转获取显示,且每隔一个打印;
    print(str[-1:-11:-2]) # 将字符串反转获取显示,且每隔一个打印;

    注意:步长方法只顾头不固定(因此必须+1);
        name = "123456789"
        print(name[8::-1])
        print(name[-1:-10:-1])

循环字符串元素:
    使用示例1:while循环
        mystr = "12345678ab"
        start = 0
        while start < len(mystr):
            print(mystr[start])
            start += 1

    使用示例2:for循环
        mystr = "12345678ab"
        for start in mystr:
            print(start)

    注意:迭代器简单理解就是有多个字符组成;

功能方法:
len(): 表示统计元素的总数;
    使用示例:
        name = "Only123"
        print(len(name))

count(): 表示统计元素出现的个数;可进行且切片;
    使用示例:
        name = "oonlymorningstar"
        print(name.count("o"))
        print(name.count("n"))

capitalize(): 表示将字符首字母进行大写且其余字母小写;
    使用示例:
        name = "only"
        print(name.capitalize())

title(): 表示将字符非字母隔开的每个单词的首字母进行大写;
    使用示例:
        name = "only morning6 star &for *renbo"
        new_name = name.title()
        print(new_name)            

swapcase(): 表示将字符字母大小写进行反转;小写转大写否则相反;
    使用示例:
        name = "OnlyMorningStar"
        print(name.swapcase())

startswith(): 表示判断以什么内容开头;返回布尔值且可以进行其切片(切片用逗号隔开);
    使用示例:
        name = "OnlyMorningStar"
        print(name.startswith("Only"))
        print(name.startswith("M", 4, 11))
        print(name[4:11])

endswith():   表示判断以什么内容结尾;返回布尔值且可以进行其切片(切片用逗号隔开);
    使用示例:
        name = "OnlyMorningStar"
        print(name.endswith("Star"))
        print(name.endswith("Morning", 4, 11))

lower(): 表示将全部字符转换为小写;
    使用示例:
        name = "ONLY"
        print(name.lower())

upper(): 表示将全部字符转换为大写;
    使用示例:
        code = 'Only'.upper()
        your_code = input("请输入验证码,不区分大小写: ").upper()
        if your_code == code:
            print("验证成功 !")

index(): 表示通过元素查找索引且找不到则报错;可以进行其切片;
    使用示例:
        name = "OnlyMorningStar"
        print(name.index("M", 4, 11))
        print(name.index("S", 4, 11))

find():  表示通过元素查找索引且找不到返回-1;可以进行其切片;
    使用示例:
        name = "OnlyMorningStar"
        print(name.find("M", 4, 11))
        print(name.find("S", 4, 11))

strip(): 表示去掉字符的前后端空格/换行符/制表符;
    使用示例:
        name = " abced123abce456bacef"
        print(name.strip())
        print(name.strip("def"))
        print(name.strip("abc"))
        username = input('请输入用户名').strip()
        if username == 'icescn':
            print('登录成功 !')

    lstrip(): 表示从左边至右边寻找且去掉字符的前后端空格/换行符/制表符;
        name = "abcdabcd"
        print(name.lstrip("abc"))

    rstrip(): 表示从右边至左边寻找且去掉字符的前后端空格/换行符/制表符;
        name = "abcdabcd"
        print(name.rstrip("bcd"))

    注意:从前往后和从后往前遇到非替换的字符串则停止进行替换(卡住了);

split(): 表示将指定字符进行其分割;默认为空格分割且可以指定其分割次数;
    使用示例:
        name1 = "abc 123 def 456"
        name2 = "abc,123,def,456"
        name3 = "abc&123&def&456"
        print(name1.split())
        print(name2.split(","))
        print(name3.split("&"))
        print(name3.split("&",2)) # 分割两次;

    lsplit(): 表示从左边至右边进行分割;
    rsplit(): 表示从右边至左边进行分割;

    注意:SPLIT分割后的结果将放到数据类型"列表"里面;
        数据类型转换:
            STR -> LIST

join(): 表示将字符串用于拼接使用;
    使用示例:
        name = "Only"
        print("+".join(name))
        name = ["fanbe","shuaige", "chouderen"]
        print("+".join(name))

    注意:JOIN字符拼接后的结果将放到数据类型"字符串"里面;不支持数字的数据类型;
        数据类型转换:
            LIST -> STR

replace(): 表示替换指定其字符;
    使用示例:
        name = "abc123def456abc123def"
        print(name.replace("abc","666"))
        print(name.replace("abc", "666", 2)) # 只匹配2个的字符进行替换;

format(): 表示将字符进行格式化输出;
    使用示例:
        mesg1 = "name:{} age:{}  sex:{}".format("Only", "18", "")
        print(mesg1)
        mesg2 = "name:{0} age:{1} sex:{2} This is:{0}".format("Only", "18", "")
        print(mesg2)
        mesg3 = "name:{name} age:{age} sex:{sex}".format(name="Only", age="18", sex="")
        print(mesg3)

    注意:FORMAT字符串格式化输出有三种模式的输出;

center(): 将指定字符进行居中定制化输出;
    使用示例:
        name = "only"
        print(name.capitalize().center(26,"#"))                

islower(): 表示判断全部字符是否为小写;
isupper(): 表示判断全部字符是否为大写;
isdigit(): 表示判断全部字符是否为数字;
isalpha(): 表示判断全部字符是否为字母;
isalnum(): 表示判断全部字符是否为字母和数字;
isspace(): 表示判断全部字符是否为空格;
istitle(): 表示判断单词是否首字母大写;
isdecimal(): 判断是否为十进制小数;

 

posted @ 2018-04-30 20:50  吴任波  阅读(152)  评论(0)    收藏  举报