一、基本数据类型
1、数字 int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数num = 8bindata = num.bit_length()print(bindata)
2、布尔值 bool
布尔值就两种:True,False 即真 与 假。
真 1 True
假 0 False
注意:在int类型中,非0的数字都表示真;在字符串str类型中,除了空字符串""表示假外,其余非空字符串都为真,包括带空格的字符串" "
3、字符串 str
字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串。
3.1、字符串的定义
str1 = 'Hello Python'str2 = "Hello Python"
字符串有索引,索引从0开始。例如访问字符串如下:
print(str1) #Hello Pythonprint(str1[0]) #Hprint(str1[3]) #lprint(str1[-1]) #nprint(str1[-3]) #h
3.2、字符串的切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串。原则就是顾头不顾尾巴,类似数学上的半开半闭区间 [ 0, 9 )
print(str1) #Hello Pythonprint(str1[0:]) #Helle Pythonprint(str1[0:4]) #Hellprint(str1[2:7]) #llo Pprint(str1[6]) #Pythonprint(str1[:]) #Hello Python #[起始索引:终止索引:步长]print(str1[0:3:2]) #Hl#从后往前取值print(str1[2::-2]) #lHprint(str1[3:0:-2]) #leprint(str1[-1:-6:-2]) #nhy
3.3、字符串的常用方法
#1、capitalize()首字母大写,其他字母小写str = "hi Python"print(str.capitalize()) #Hi python#2、swapcase()大小写反转str = "hi Python"print(str.swapcase()) #HI pYTHON#3、title()非字母隔开的部分,首字母大写,其余字母小写str = "hi hello*python"print(str.title()) #Hi Hello*Python#4、upper()全部大写str = "hi Python"print(str.upper()) #HI PYTHON#5、lower()全部小写str = "Hi Python"print(str.lower()) #hi python#6、center()内容居中显示,填充物默认为空str = "hello"print(str.center(10,'*')) #**hello***#7、find()通过元素找索引,可以整体找,可以切片,找不到则返回-1str = "hi Alex"print(str.find('l')) #4print(str.find('Alex')) #3print(str.find('i',1,4)) #1print(str.find('L')) #-1#8、index()通过元素找索引,可以整体找,可以切片,找不到会报错str = "hi Alex"print(str.index('x')) #6#9、startswith(obj) 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。str = "hi Alex"print(str.startswith('h')) #Trueprint(str.startswith('hi')) #True#10、endswith(obj) 检查字符串是否是以 obj 结尾,是则返回 True,否则返回 False。str = "hi Alex"print(str.endswith('x')) #Trueprint(str.endswith('Alex')) #True#11、strip()去除字符串前后两端的空格或其他字符,换行符,tab键等#lstrip()去除左边,rstrip()去除右边str = "****hi Alex****"print(str) #****hi Alex****print(str.strip('*')) #hi Alexprint(str.lstrip('*')) #hi Alex****print(str.rstrip('*')) #****hi Alex#12、split str --->list方法str = "hi hello Alex"print(str.split(" ")) #['hi', 'hello', 'Alex']print(str.split(" ",1)) #['hi', 'hello Alex']str1 = " hi hello "print(str1.split(" ")) #['', 'hi', 'hello', '']#13、replace(oldstr, newstr) 替换字符串str = "hello JS"print(str.replace("JS","Python")) #hello Pythonstr1 = "hello JS and JS2"print(str1.replace("JS","CSS")) #hello CSS and CSS2#14、判断字符串含有字母或数字的相关方法#isalnum() 字符串由字母或数字组成#isalpha() 字符串只由字母组成#isdigit() 字符串只由数字组成name='hello123'print(name.isalnum()) #Trueprint(name.isalpha()) #Falseprint(name.isdigit()) #False#15、format 格式化字符串#第一种str1 = '我叫{},今年{},身高{}'.format('金六福',21,175)print(str1) #我叫金六福,今年21,身高175#第二种str2 = '我叫{0},今年{1},身高{2},我依然叫{0}'.format('金六福',21,175)print(str2) #我叫金六福,今年21,身高175,我依然叫金六福#第三种str3 = '我叫{name},今年{age},身高{high}'.format(name = '金六福',high=175,age=21)print(str3) #我叫金六福,今年21,身高175#16、count 统计元素在字符串出现的次数str = "alexaaa"print(str.count('a')) #4#17、len 计算字符串的长度str = 'hello python'print(len(str)) #12
4、数据类型之间的相互转化
4.1、数字int <---> 字符串str
#1、int --> str == str(int)num1 = 2018str1 = str(num1)print(str1,type(str1)) #2018#2、str --> int == int(str)str2 = '2018'num2 = int(str2)print(num2,type(num2)) #2018
4.2、数字int <---> 布尔bool
#1、int --> bool == bool(int) 注:除了0-->False外,其余数字都为Truenum3 = 2018boolN = bool(num3)print(boolN, type(boolN)) #Trueprint(0, bool(0)) #0 False#2、bool --> int == int(bool) 注:True-->1, False-->0boolN1 = int(True)boolN2 = int(False)print(boolN1, boolN2) #1 0
4.3、字符串str <---> 布尔bool
#1、str --> bool == bool(str) 除了''-->False外,其余字符串都为TruestrB = 'hello'boolS = bool(strB)print(boolS, type(boolS)) #Trueprint(bool('')) #False#2、bool --> str == str(bool) True-->'True',False-->'False'boolS1 = str(True)boolS2 = str(False)print(boolS1, type(boolS1)) #True print(boolS2, type(boolS2)) #False