基本数据类型(一)
一、基本数据类型
1、数字 int
数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:
#bit_length() 当十进制用二进制表示时,最少使用的位数 num = 8 bindata = 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 Python print(str1[0]) #H print(str1[3]) #l print(str1[-1]) #n print(str1[-3]) #h
3.2、字符串的切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串。原则就是顾头不顾尾巴,类似数学上的半开半闭区间 [ 0, 9 )
print(str1) #Hello Python print(str1[0:]) #Helle Python print(str1[0:4]) #Hell print(str1[2:7]) #llo P print(str1[6]) #Python print(str1[:]) #Hello Python
#[起始索引:终止索引:步长] print(str1[0:3:2]) #Hl #从后往前取值 print(str1[2::-2]) #lH print(str1[3:0:-2]) #le print(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()通过元素找索引,可以整体找,可以切片,找不到则返回-1 str = "hi Alex" print(str.find('l')) #4 print(str.find('Alex')) #3 print(str.find('i',1,4)) #1 print(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')) #True print(str.startswith('hi')) #True #10、endswith(obj) 检查字符串是否是以 obj 结尾,是则返回 True,否则返回 False。 str = "hi Alex" print(str.endswith('x')) #True print(str.endswith('Alex')) #True #11、strip()去除字符串前后两端的空格或其他字符,换行符,tab键等 #lstrip()去除左边,rstrip()去除右边 str = "****hi Alex****" print(str) #****hi Alex**** print(str.strip('*')) #hi Alex print(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 Python str1 = "hello JS and JS2" print(str1.replace("JS","CSS")) #hello CSS and CSS2 #14、判断字符串含有字母或数字的相关方法 #isalnum() 字符串由字母或数字组成 #isalpha() 字符串只由字母组成 #isdigit() 字符串只由数字组成 name='hello123' print(name.isalnum()) #True print(name.isalpha()) #False print(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 = 2018 str1 = str(num1) print(str1,type(str1)) #2018 <class 'str'> #2、str --> int == int(str) str2 = '2018' num2 = int(str2) print(num2,type(num2)) #2018 <class 'int'>
4.2、数字int <---> 布尔bool
#1、int --> bool == bool(int) 注:除了0-->False外,其余数字都为True num3 = 2018 boolN = bool(num3) print(boolN, type(boolN)) #True <class 'bool'> print(0, bool(0)) #0 False #2、bool --> int == int(bool) 注:True-->1, False-->0 boolN1 = int(True) boolN2 = int(False) print(boolN1, boolN2) #1 0
4.3、字符串str <---> 布尔bool
#1、str --> bool == bool(str) 除了''-->False外,其余字符串都为True strB = 'hello' boolS = bool(strB) print(boolS, type(boolS)) #True <class 'bool'> print(bool('')) #False #2、bool --> str == str(bool) True-->'True',False-->'False' boolS1 = str(True) boolS2 = str(False) print(boolS1, type(boolS1)) #True <class 'str'> print(boolS2, type(boolS2)) #False <class 'str'>