3.3字符串str ' '
0 切片选取
[x:y] 左闭右开区间
[x:y:z] 选取x到y之间 每隔z选取一次(选取x,x+z,....)
z为正 索引位置:x在y的左边
z为负 索引位置:x在y的右边
字符串+ 都是字符串的时候才能相加
a = 'alex'
b = 'wusir'
print(a+b) #字符串拼接
字符串* 字符串和数字相乘
a = 6
b = 'alex'
print(a*b) #字符串和数字相乘
字符串是不可变的数据类型
字符串---用于存储数据,---比较少
用引号引起来的都是字符串
1.字符:单一的文字符号
2.字符串:有序的字符序列 '张三李四'
3.索引:索引的下标从0开始,使用[]来获取数据
0 1 2
s = '刘德华'
s[0] #第一个字符
s[-1] #最后一个字符
4.切片: 顾头不顾尾,从左往右切. s[start:end :step] [开头:结尾:步长默认是1]
s[0:3] #刘德华
s[:3] #不填默认表示之前的全部
[开头:结尾:步长默认是1]
个人技巧:起始位置+步长
方法 | 含义 | 备注 |
---|---|---|
.lower() | 大写 | 全部字母大写 |
.upper() | 小写 | 全部字母小写 |
.strip() | 去空格or(''可以定义'') | lstrip()去左侧空格,rstrip()去右侧空格 |
.split() | 分割 | split('x'),用切割成一个列表,,,rsplit从右切割 |
isdecimal() | 判断是不是十进制 | 用它来判断是不是数字 |
.capitalize() | 首字母大写 | 其他字母小写 |
.count() | 计数 | 计算()的内容出现次数 |
.endswith() | 以...结尾 | ()里为内容 |
.startswith() | 以...开头 | ()里为内容 |
.find() | 查找 | ()里为内容,找不到返回-1 |
.format() | 格式化输出 | '{0}',fomat() |
.join() | 加入 | '_'.join('abc') a_b_c |
.replace() | 替换,可以指定换几个 | replace(a,b)把a换成b replace('a,'b',次数) |
.format() | 格式化输出 | '{}'.format(变量) |
\t | tab | 四个空格 |
\n | 换行 | 下一行 |
.title() | 隔字母大写 | |
.swapacse | 大小写反转 | |
.find('') 找不到返回-1
.index() 找不到就报错 根据元素找索引
.format 格式化输出
name=name.format('结婚了','要结婚了') #按照位置顺序填充
name=name.format('结婚了','要结婚了') #按照位置索引填充
name=name.format(a='结婚了',b='要结婚了') #关键字填充
is 系列
方法 | 含义 | 备注 |
---|---|---|
isalpha() | 判断是不是中文和字母 | |
isdecimal() | 判断是不是十进制 | 用来判断是不是数字 |
issalnum() | 判断是不是字母中文和阿拉伯数字 |
len
工厂函数,所有类型都能用,唯独int,bool
for
for i in range(len(变量,可迭代对象)):
print(变量[i])
... 和pass 都是过的意思
range
s = range(1,10) #(起始位置,终止位置,步长)
默认是0, ,默认是1
print(s) #范围 #顾头不顾尾