循环前提
python的循环没有作用域一说,循环结构外也可以获取值
字符串占用内存
x = '123'
y = "123"
z = '''
123'''
print(id(x))
print(id(y))
print(id(z))
三引号和单双引号不同
x = '123'
y = "123"
z = '''123'''
print(id(x))
print(id(y))
print(id(z))
同一行时就是一样的
x = input()
y = input()
print(id(x), id(y))
input是封装好的,所以不一样
[]切片
获取字符串所在位置的元素
x = 'gesrg.png'
print(x[-1])
要最后的文件名,就要用[:]
x = 'gesrg.png'
print(x[-1])
print(x[-3:])
和range 一样左闭右开
[::-1]
最后的-1意味倒序取值输出
x = 'gesrg.png'
print(x[-1])
print(x[-3:])
print(x[-1:-4:-1])
print(x[2:1:1])
第四个因为从2正着找找不到1,所以不输出
[::2]隔一个取一个,最后一个为步长
大小写
- capitalize()
x='dsvgsd rgeg'
print(x.capitalize())
第一个首字母大写
- title
x='dsvgsd rgeg'
print(x.title())
每个首字母大写
istitle()判断是不是每个首字母大写
x='dsvgsd rgeg'
print(x.istitle())
3. upper()
x='dsvgsd rgeg'
print(x.upper())
全部大写
- lower()
x='dsvgsd rgeg'
print(x.lower())
全部小写
查找
- fing()
x='dsvgsd rgeg'
print(x.find('d'))
print(x.find('a'))
没找到返回-1
找到返回第一次的位置
find(str,beg=0,end=len(string))
beg:开始的位置
end:结束的位置
rfind()
从右向左检索
lfind()
和上面相反
index()
和find()一样,只不过不会报不在时的-1,会有异常
rindex()
lindex
同上
- replace()
replace(old,new,[,max])
max指替换不超过max次
x='dsvgsd rgeg'
print(x.replace(' ',''))
可以用来去空格
编码和判断开头结尾
- encode()
encode(encodeing='UTF-8',errors='strict')
以指定的方式编码
gbk 中文
gbk2312 简体中文
x='你好'
print(x.encode('utf-8'))
2. decode()
解码
对字节操作
x='你好'
y=x.encode('utf-8')
print(type(y))
print(y.decode('utf-8'))
3. startswith() endswith()
判断是否为XXX开头,判断是否为XXX结尾
x = '笔记.doc'
y = x.endswith('tat')
print(y)
判断是不是数字
-
isalnum()
-
isalpha()
-
isdigit()
while True:
x = input('输入数字字符开始,非数字字符结束')
print(x, end='\t')
if x.isdigit():
x = eval(x)
i = 0
while x != 1:
if x % 2 == 0:
x /= 2
i = i + 1
else:
x = x * 3 + 1
i = i + 1
else:
print('符合,次数{}'.format(i))
else:
print('非数字字符')
break
冰雹猜想的示例
-
islower()
-
isnumeric()
-
isspace()
-
istitle()
-
isupper()
合并拆分
join(sep)
print('-'.join('abc'))
list1 = ['a', 'b', '1', '1']
x = ''.join(list1)
print(x)
将列表变成字符串型
杂
- strip()
去空格 - count()
找指定元素的个数