一、基本数据类型
基本数据类型包括:数字(int)、字符串(str)、列表(list)、元祖(tuple)、字典(dict)、布尔值(bool)。
查看输出数据的类型
a = "123"
print(type(a),a)
二、数字
在Python3中,数字类型都用int表示,在Python2中,有整型和长整型(long)
数字类型常用的两种操作:
1.将字符串转换为数字
a = "123"
b = int(a)#将字符串转为数字
print(b)
2.将数字按某种进制转换为十进制数
a ="0001111"
b=int(a,base=16)#将数值以等于号后面的进制转换为十进制
print(b)
3.计算数字的的二进制有几位
test = 4
v = test.bit_length()
print(v)
三、字符串
1.常用的几种字符串命令(记住)
(1)join
将字符串中的每一个元素按照指定分隔符进行拼接
test = "湖人总冠军"
t = "!"
v = t.join(test)
print(v)
(2)split
将字符串按照指定字符进行分割,并且不返回该字符,数字为2代表分为3份
test = "hechouzihechouzi"
v = test.split("h",2)
print(v)
与split功能相似的还有rsplit,从字符串右边进行分割
splitline,根据\n对字符串进行分割,如果是True保留\n。
test = "hechouzi\nhechouzi\nhechouzi\n"
v = test.splitlines(True)
print(v)
test = "hechouzihechouzi"
v = test.rsplit("h",2)
print(v)
同样可以执行分割命令的partition和rpartition,却别是partition以指定字符为分割点,将字符串分为三份,且返回指定字符
test = "hechouzihechouzi"
v = test.rpartition("h")
print(v)
(3)find
寻找子序列在字符串指定位置中第一次出现的位置,字符串的第一位位置为0,如果没有找到,返回-1
test = "hechouzi"
v = test.find("h",1,4)
print(v)
与find功能相类似的index,区别是index找不到会报错
(4)strip
移除字符串两端指定子序列,lstrip移除左边,rstrip移除右边
test = "hechouzihechouzihe"
v1 = test.strip("he")
v2 = test.lstrip("he")
v3 = test.rstrip("he")
print(v1,v2,v3)
(5)upper和lower
upper是将字符串内容全部转换为大写,lower是将字符串内容全部转换为小写。
test = "hECHouZi"
v1 = test.lower()
v2 = test.upper()
print(v1,v2)
相似命令:capitalize,将字符串首字母大写,其余变小写。
casefold,同样是将字符串内容转换为小写,但lower只对ASCII 也就是 'A-Z'
有效,casefold可以对其它一些语言里面存在小写的情况,如德语中'ß'
的小写是'ss'。
wapcase,将字符串的大小写交换。
title,将字符串中每个单词的首字母大写
(6)replace
用指定字符替代字符串中的字符
test = "hecouzihechouzi"
v = test.replace("uzi","小狗")
print(v)
2.几种特殊命令
(1)索引
查找字符串中第n个字符是什么
test = "hechouzi"
v = test[2]
print(v)
(2)切片
切去字符串中[m,n)中的字符,n可为负数
test = "hechouzi"
v = test[0:-1]
print(v)
(3)len
获取当前字符串由几个字符组成
test = "湖人总冠军!"
v = len(test)
print(v)
用法举例
test = "湖人总冠军!"
index = 0
while index < len(test):
v = test[index]
print(v)
index += 1
print("-----")
3.其他命令
(1)center
将字符串居中,设置宽度并填充
test = "hechouzi"
v = test.center(30,"$")#将字符串设置在宽度为30显示,其他位置用$填补
print(v)
相似功能有:ljust和rjust
(2)endswith和starswith
判断字符串是否以xx结尾或开头,返回True或者False
test = "hechouzi"
v1 = test.endswith("o",3,4)#位置为[3,6)
v2 = test.startswith("h",3,4)
print(v1,v2)
(3)format和format_map
format的两种用法
#用法一
test = "i am {0},i am {1}"
v = test.format('hechouzi',25)
print(v)
#用法二
test = "i am {name},i am {age}"
v = test.format(name = 'hechouzi',age = 25)
print(v)
format_map的用法
test = "i am {name},i am {age}"
v = test.format_map({"name":"hechouzi","age":25})
print(v)
(4)is们
isalnum 判断字符串中是否只包含字母和数字
isalpha 判断字符串中是否只包含字母和汉字
isdecimal isdigit isnumeric三者均为判断是否是数字,isdecimal只能判断十进制小数,isdigit可以判断特殊字符如①,isnumeric可以判断汉字如“一”
isidentifier 检测字符串是否是字母开头
islower isupper 检测字符串的英文字母是否全是小写或大写
isprintable 判断打印时能否看到全部内容
isspace 判断是否全是空格
istitle 判断是否是标题
(5)maketrans
设置替换规则
(6)expandtabs
str.expandtabs(tabsize=8)
把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8