一、基本数据类型

  基本数据类型包括:数字(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