字符串

一、数据类型 -- int类

  1、bit_length()方法

    v1 = 1

    data = v1.bit_length()

 

    v = 15

    data = v.bit_length()     #当前十进制数用二进制数表示时最少使用的位数(计算位数)

    print(data)

  2、二进制、十进制、八进制

    二进制:0,1,10,11,100

    十进制:0,1,2,3,4...9

    八进制:0,1,2,3,4...7

  在本质上内部存储:00001010 01010100二进制数

二进制 八进制 十进制 十六进制
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F

 

二、数据类型--bool类

  v1 = True    #1

  v1 = False   #0

三、数据类型--str类

  (一)、str类中为当前对象提供的功能

    1、变大写

v = 'alex'
v1 = v.upper()
print(v1)
-----------------------------
v = 'alex'
print(v.upper())

 

    2、变小写

v = 'alEx'
v1 = v.lower()
print(v1)
------------------------
v = 'alEx'
print(v.lower())

 

    3、首字母变大写

v = 'alEx'
v1 = v.capitalize
print(v1)
--------------------------
v = 'alEx'
print(v.capitalize())

 

    4、去掉首尾空格

v = '  avs fadf  '
v1 = v.strip()
print(v1)
---------------------
v = '  avs fadf  '
print(v.strip())

    5、去除左边

v = '   sdfd dfd    '
v1 = v.lstrip()
print()
---------------------------
v = '   sdfd dfd    '
print(v.lstrip())

    6、去除右边

v = '   sdfd dfd    '
v1 = v.rstrip()
print(v1)
-----------------------
v = '   sdfd dfd    '
print(v.rstrip())

    7、替换

v = 'SCII第一次以规范标准的形态以规范标准的形态以规范标准的形态'
v1 = v.replace("标准",""***)
v2 = v.replace("第一次","#")
print(v1,v2)

    8、分割 (默认以空格分隔)

v = 'SCII第一次以规范标准的形态以规范标准的形态以规范标准的形态'
v1 = v.split("第一次")
v2 = v.split("标准")
v3 = v.split("标准",2)
print(v1,v2,v3)

    9、判断当前字符串是否全是数字

v = 13
v1 = v.isdigit()
print(v1)

例:
count = 0
v = "fs123fslf"
for item in v:
  if item isdigit:
    count = count + 1
print(count)

    10、format()格式化输出

(1)按位置格式化
s = "我叫{},今年{}岁了,我喜欢{}".format("朴信惠",18"拍戏")
print(s)

(2)指定位置格式化
s = "我叫{0},今年{2}岁,我喜欢{1}".format(”朴信惠“,"拍戏",18)
print(s)

(3)指定关键字
s = "我叫{name},今年{age}岁了,我喜欢{hobby}".format(name="朴信惠",age=18,hobby="拍戏")
print(s)

    11、字符串的查找

(1)判断字符串是否以***开头
s = "汪峰的老婆不爱汪峰"
print(s.startswith("汪峰"))

(2)判断字符串是否以***结尾
s = "汪峰的老婆不爱汪峰"
print(s.endswith("汪峰"))

(3)计算***在字符串中出现的次数
s = "汪峰的老婆不爱汪峰"
print(s.count("老婆"))

(4)计算***在原字符串中出现的位置,如果没有出现就返回-1
s = "汪峰的老婆不爱汪峰"
print(s.find("汪峰"))

(5)index中的内容不存在,直接报错
s = "汪峰的老婆不爱汪峰"
print(s.index("国际章"))

    12、条件判断

s = "abc123"
(1)判断字符串是否由数字组成
print(s.isdigit())

(2)判断是否由字母组成
print(s.isalpha())

(3)是否由字母和数字组成
print(s.isalnum())

(4)判读所有数字
s = "二千1234伍万"
print(s.isnumerice())
(5)判断是否全是大写 print(s.isupper()) (6)判断是否全是小写 print(s.islower)

(7)判断是否是字符
print(s.isalpha)

(8)判断是否是空格
print(s.isspace)

    13、计算字符串长度 len()--python的内置函数

 

s = "我是你的眼"
print(len(s))
----------------------------
i = s.__len__()   #也可以求长度,len()函数执行的时候就是它
print(i)

    14、迭代 (将字符串从头到尾的进行遍历)

s = "美女姐姐你好漂亮"
print(len(s))   #长度是8,下标到7

(1)while循环
count = 0
while count < len(s):
    print(s[count])
    count = count +1

(2)for循环
for c in s:     #把s中的每一个字符交给前面的c循环
    print(c)

for循环语法:
for 变量 in  迭代对象:
    循环体

    15、str的切片和索引

(1)索引 (索引就是下标. 切记, 下标从0开始 )
s = "python最牛逼"
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[0])
#根据字符串的下标取值,如果下标没有没对应的值,就会出现报错,下标越界
print(s[-1]) #表示倒数第一个
print(s[-2])  #表示倒数第二个

(2)切片
str[star:end] #含头不含尾,从star开始,到end结束,不包含end
s = "python最牛逼"
print(s[0:3]) #从开始取到3
print(s[6:8])
print(s[4:9])
print(s[6:10])
print(s[3:]) #从3直接取到最后
print(s[-5:-1]) #从倒数第五个取到倒数第二个
print(s[-5:]) #从倒数第五个取到最后
print(s[:-1]) #直接取到-1
print(s[:]) #原样输出

(3)步长  # 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
str[start:end:step]    
start: 起始位置
end: 结束位置   
step:步⻓长

print(s[1:5:2]) #从1取到5,每2个取一个
print(s[:5:2])  #从0取到5,每2个取一个
print(s[4::4])  #从4取到最后,每2个取一个
print(s[-5::2]) #从-5取到最后,每2个取一个
print(s[-1:-5:-1]) #从-1取到-5,反着取
print(s[-5::-3]) #从-5取到开始,每3个取一个

 

posted @ 2018-07-04 14:46  LW-5208  阅读(166)  评论(0编辑  收藏  举报