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(): 判断是否为十进制小数;