一、基础数据类型分类
python的数据类型主要包括以下几种:
1.数字
2.字符串
3.列表
4.字典
5.元组
6.集合
1.数字 int
数字主要是用于计算用的,使用方法并不多
#bit_length() 当十进制用二进制表示时,最少使用的位数
#整数的bit_length方法运行可以查询以二进制表示一个数字的值所需的位数。
v = 11 data = v.bit_length() print(data)
运行结果
# 数字11在二进制情况下占4位
4
Process finished with exit code 0
2.布尔值 bool
布尔值就两种形式:True 、 False。 反应条件的正确与否。
真 1 True
假 0 False
3. 字符串
3.1 索引
索引即字符串元素的下标,字符串第一个元素的索引为0,后面的索引以此类推;
元素总个数等于总索引加一。
a = 'ABCDEFGHIJK' print(a[0]) # 输出值:A print(a[3]) # 输出值:D print(a[5]) # 输出值:F print(a[7]) # 输出值:H
3.2 字符串切片
切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)。
(步长:循环体中计数器每次的增量值,增量也可以是负数的)
a = 'ABCDEFGHIJK' print(a[0:3]) print(a[2:5]) print(a[0:]) #默认到最后一个元素 print(a[0:-1]) #-1就是最后一个元素 print(a[0:5:2]) #加步长 print(a[5:0:-2]) #反向加步长
3.3 字符串的常用方法
- str.swapcase() 大小写翻转
# 返回大小写字母转换后生成的新字符串。 str = "this is string example....wow!!!" print (str.swapcase()) str = "This Is String Example....WOW!!!" print (str.swapcase()) 输出结果: THIS IS STRING EXAMPLE....WOW!!! tHIS iS sTRING eXAMPLE....wow!!!
- str.capitalize() 将字符串的第一个字母变成大写,其他字母变小写。
# 该方法返回一个首字母大写的字符串。 str = "this is string example from runoob....wow!!!" print ("str.capitalize() : ", str.capitalize()) 输出结果: str.capitalize() : This is string example from runoob....wow!!!
- str.center() 居中、填充
# 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。 str.center(width[, fillchar]) width -- 字符串的总宽度。 fillchar -- 填充字符。 str = "[www.runoob.com]" print ("str.center(40, '*') : ", str.center(40, '*')) 输出结果: str.center(40, '*') : ************[www.runoob.com]************
- str.startswith() 判断是否以......开头
# startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 beg 和 end 指定值,则在指定范围内检查。如果检测到字符串则返回True,否则返回False。 str.startswith(str, beg=0,end=len(string)); str -- 检测的字符串。 strbeg -- 可选参数用于设置字符串检测的起始位置。 strend -- 可选参数用于设置字符串检测的结束位置。 # 实例: str = "this is string example....wow!!!" print (str.startswith( 'this' )) print (str.startswith( 'string', 8 )) print (str.startswith( 'this', 2, 4 )) 输出结果: True True False
- str.endswith() 判断是否以......结尾
# endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。如果字符串含有指定的后缀返回True,否则返回False。 str.endswith(suffix[, start[, end]]) suffix -- 该参数可以是一个字符串或者是一个元素。 start -- 字符串中的开始位置。 end -- 字符中结束位置。 # 实例: Str='Runoob example....wow!!!' suffix='!!' print (Str.endswith(suffix)) print (Str.endswith(suffix,20)) suffix='run' print (Str.endswith(suffix)) print (Str.endswith(suffix, 0, 19)) 执行结果: True True False False
- str.count() 元素在字符串中出现的个数,可切片
# count() 方法用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。该方法返回子字符串在字符串中出现的次数。 str.count(sub, start= 0,end=len(string)) sub -- 搜索的子字符串 start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。 end -- 字符串中结束搜索的位置。字符中第一个字符的索引为 0。默认为字符串的最后一个位置。 实例: str="www.runoob.com" sub='o' print ("str.count('o') : ", str.count(sub)) sub='run' print ("str.count('run', 0, 10) : ", str.count(sub,0,10)) 执行结果: str.count('o') : 3 str.count('run', 0, 10) : 1
- str.expandtabs() 字符长度不足8个,补全8个;超过8个不足18个,补全16个;以此类推
# expandtabs() 方法把字符串中的 tab 符号(' ')转为空格,tab 符号(' ')默认的空格数是 8。该方法返回字符串中的 tab 符号(' ')转为空格后生成的新字符串。 str.expandtabs(tabsize=8) tabsize -- 指定转换字符串中的 tab 符号(' ')转为空格的字符数。 实例: str = "this is string example....wow!!!" print ("原始字符串: " + str) print ("替换 \t 符号: " + str.expandtabs()) print ("使用16个空格替换 \t 符号: " + str.expandtabs(16)) 执行结果: 原始字符串: this is string example....wow!!! 替换 符号: this is string example....wow!!! 使用16个空格替换 符号: this is string example....wow!!!
- str.find() 寻找字符串中的某个元素是否存在,返回元素索引,可切片,不存在返回-1
# find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果指定范围内如果包含指定索引值,返回的是索引值在字符串中的起始位置。如果不包含索引值,返回-1。 str.find(str, beg=0, end=len(string)) str -- 指定检索的字符串 beg -- 开始索引,默认为0。 end -- 结束索引,默认为字符串的长度。 实例: str1 = "Runoob example....wow!!!" str2 = "exam"; print (str1.find(str2)) print (str1.find(str2, 5)) print (str1.find(str2, 10)) 执行结果: 7 7 -1
- str.index() 用法同find();不同:找不到报错
# index() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果str不在 string中会报一个异常。 str.index(str, beg=0, end=len(string)) str -- 指定检索的字符串 beg -- 开始索引,默认为0。 end -- 结束索引,默认为字符串的长度 实例: str1 = "Runoob example....wow!!!" str2 = "exam"; print (str1.index(str2)) print (str1.index(str2, 5)) print (str1.index(str2, 10)) 执行结果(找不到会报错): 7 7 Traceback (most recent call last): File "test.py", line 8, in <module> print (str1.index(str2, 10)) ValueError: substring not found
- str.split() 以某个指定元素分割字符串成一个列表
# split()通过指定分隔符对字符串进行切片,如果参数num 有指定值,则仅分隔 num 个子字符串。 可用于将字符串转换成列表。 str.split(str="", num=string.count(str)). str -- 分隔符,默认为所有的空字符,包括空格、换行( )、制表符( )等。 num -- 分割次数。 实例: str = "this is string example....wow!!!" print (str.split( )) print (str.split('i',1)) print (str.split('w')) 执行结果: ['this', 'is', 'string', 'example....wow!!!'] ['th', 's is string example....wow!!!'] ['this is string example....', 'o', '!!!']
- str.strip() 去除字符串前后空格及指定元素(去除制表符、换行、空格)
# strip() 方法用于移除字符串头尾指定的字符(默认为空格)。 str.strip([chars]); chars -- 移除字符串头尾指定的字符。 实例: str = "*****this is string example....wow!!!*****" print (str.strip( '*' )) 执行结果: this is string example....wow!!!
- str.lstrip() 去除字符串左边的空格及指定元素
# lstrip() 方法用于截掉字符串左边的空格或指定字符。返回截掉字符串左边的空格或指定字符后生成的新字符串。 str.lstrip([chars]) chars --指定截取的字符。 实例: str = " this is string example....wow!!! " print( str.lstrip() ); str = "88888888this is string example....wow!!!8888888" print( str.lstrip('8') ) 执行结果: this is string example....wow!!! this is string example....wow!!!8888888
- str.rstrip() 去除字符串右边的空格及指定元素
# rstrip() 删除 string 字符串末尾的指定字符(默认为空格). str.rstrip([chars]) chars -- 指定删除的字符(默认为空格) 实例: str = " this is string example....wow!!! " print (str.rstrip()) str = "*****this is string example....wow!!!*****" print (str.rstrip('*')) 执行结果: this is string example....wow!!! *****this is string example....wow!!!
- str.replace() 对字符串元素进行替换
# replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。 str.replace(old, new[, max]) old -- 将被替换的子字符串。 new -- 新字符串,用于替换old子字符串。 max -- 可选字符串, 替换不超过 max 次 实例: str = "www.w3cschool.cc" print ("菜鸟教程新地址:", str) print ("菜鸟教程新地址:", str.replace("w3cschool.cc", "runoob.com")) str = "this is string example....wow!!!" print (str.replace("is", "was", 3)) 执行结果: 菜鸟教程新地址: www.w3cschool.cc 菜鸟教程新地址: www.runoob.com thwas was string example....wow!!!
- str.isalnum() 判断是否由字母或者数字组成
# isalnum() 方法检测字符串是否由字母和数字组成。如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False str.isalnum() 实例: str = "runoob2016" # 字符串没有空格 print (str.isalnum()) str = "www.runoob.com" print (str.isalnum()) 执行结果: True False
- str.isalpha() 判断是否只由字母组成
用法同 str.isalnum()
- str.isdigit() 判断是否只由数字组成
用法同 str.isalnum()
- str.title() 首字母大写,其余都小写
# title() 方法返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。返回"标题化"的字符串,就是说所有单词都是以大写开始。 str.title() 实例: str = "this is string example from runoob....wow!!!" print (str.title()) 执行结果: This Is String Example From Runoob....Wow!!!
- str.join() 字符串中插入指定元素(将列表转换成字符串)
# join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。返回通过指定字符连接序列中元素后生成的新字符串。 str.join(sequence) sequence -- 要连接的元素序列。 实例: s1 = "-" s2 = "" seq = ("r", "u", "n", "o", "o", "b") # 字符串序列 print (s1.join( seq )) print (s2.join( seq )) 执行结果: r-u-n-o-o-b runoob