python3 基础数据类型

一、基础数据类型分类

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.swapcase() 
  •  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.capitalize()
  •  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.center()
  •  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.startswith()
  •  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.endswith()
  •  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.count()
  •  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.expandtabs()
  •  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.find()
  •  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.index()
  •  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.split()
  •  str.strip()    去除字符串前后空格及指定元素(去除制表符、换行、空格)
#  strip() 方法用于移除字符串头尾指定的字符(默认为空格)。



str.strip([chars]);

chars -- 移除字符串头尾指定的字符。



实例:
str = "*****this is string example....wow!!!*****"
print (str.strip( '*' ))



执行结果:
this is string example....wow!!!
str.strip()
  •  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.lstrip()
  •  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.rstrip()
  •  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.replace()
  •  str.isalnum()    判断是否由字母或者数字组成
# isalnum() 方法检测字符串是否由字母和数字组成。如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False



str.isalnum()



实例:
str = "runoob2016"  # 字符串没有空格
print (str.isalnum())
 
str = "www.runoob.com"
print (str.isalnum())



执行结果:
True
False
str.isalnum()
  •  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.title()
  •  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
str.join()
原文地址:https://www.cnblogs.com/bigtreei/p/7752361.html