字符串、数据类型详解
增量赋值:+=,-=,*=
交叉赋值:x=1,y=2
x,y=y,x
链式赋值:x=y=z=1
First,sencond,*_=[1,2,3,4,5,6]
把用户输入的任何内容都存成字符串
Python3:input
Python2:raw_input
Int(‘101’)
Str([1,2,3])
While+else:else的代码块在while循环没有被berak打断的情况下才执行
Int 整型
Float 浮点型
十进制转换
Bin() 二进制
Oct() 八进制
Hex() 十六进制
补充:python3没有长整型
字符串str
- 按照索引取值(只能取,不能改)
- 切片
Msg=‘abcdefg’
Msg[0:5:2]
- 成员运算 in not in
Msg=‘egon is nb’
‘Egon‘ in msg
统计字符串长度==>字符的个数
Len(‘xxxxx’中)
Strip 去掉两边的空格或其它
Name=input(’>>:’).strip()
‘ssss’.strip(‘*’)
Strip(‘#*’)
Split切分
Cmd=‘root:123:0:0‘
L=cmd.split(’ : ’)
循环取字符串里包含的字符
索引msg=‘xxxx’
I=0
While I<len(msg) Print item
Format的三种操作
1.{ } 类似于%s
2.{ } 中要按索引填写
3.{ } ‘my name is { name} my age is {age }’ . format
(age=18,name=’egon’)
Split 从左 rsplit 从右
Cmd=‘get|c:\a,txt|3333‘
Print(cmd.spit(‘1‘,1))
Replace 替换
Msg=‘ wupeiqi say my name is wupeiqi‘
Print(msg.replace(‘wupeiqi‘,’sb‘ ,1))
Isdigit 判断是否是整数
Print(‘10‘. isdigit))
能按索引取值就是有序
Center 居中 ljust 左对齐 rjust 右对齐
Print (‘egon’.(center(50,‘*’))
Expandtabs 指定空格数
Print(msg.expandtabs(3))
Captalize(首字母大写)
Swapcase (大小写反转)
Title(每个首字母大写)
Isnumberic:unicode
Is 数字系列 isdigit 阿拉伯数字
Num1=b‘4’
Num2=u‘4‘
Num3=u4
Num4=u‘IV‘
列表
用途:存放多个值
定义:[ ]内以逗号分隔多个元素,列表内元素无类型限制
L=[‘a’,’b’,’c’]
L=list([‘a’,’b’,’c’])
L1=list(‘hello’)
Print(l1)
追加
Stus=。。。。。
Stus.append(‘xxxx’)
Print(stus)
插入
Stus=。。。。。
Stus.insert(1,‘艾利克斯’)
Print(stus)
删除
Stus=[。。。。。。]
Del.stus[1]
Print(stus)
Stus.remove(‘alex’)
Print(stus)
大前提:只能同类型直接比大小,对于有索引值直接的比较是按照位置一一对应进行比较,字母比顺序,对应位置比大小,字母小写的最大。
队列:先进先出
堆栈:先进后出
字符串常用操作
字符串可以说是在日常开发中应用最广泛的了,现在来总结下有关python中有关字符串一些常用操作
首先我们声明一个字符串变量
1 str = "hello world"
下面我们来依次介绍下各个方法
print(str.capitalize()) #字符串首字母大写
print(str.casefold()) #字符串全部字符小写
print(str.center(30,'-')) #将字符串放在第二个参数的中心,一定要第一个数字参数是修改后的整个字符串的长度 #输出 ---------hello world----------
print(str.count("l",0,5))#统计字符串中某字符出现次数,第二参数为开始搜索位置,第三参数为结束搜索位置,此时打印数据为2
str2 = "世界你好"
print(str2.encode("GBK")) #以指定格式编码该字符串,默认为utf-8
print(str.endswith("d")) #判断是否以参数字符为结尾
print(str.find("l",0,10)) #查询索引范围内该字符第一次出现的索引值,打印值为2
print(str.index("l",1,10)) #查询索引范围内该字符第一次出现的索引值,打印值为2,
说一下index()与find()的区别,index如果在范围内找不到该字符的索引,则会报错,而find则会返回-1不会报错
print(str.isalnum()) #检测字符串是否由字母和数字组成,打印false,因为字符串中有空格,空格也会被检测到 print(str.isalpha()) #检测字符串是否只由字母组成,打印false,因为字符串中有空格,空格也会被检测到 print(str.isdecimal()) #检查字符串是否只包含十进制字符 print(str.isdigit()) #检测字符串是否只由数字组成 print(str.islower()) #检测字符串是否由小写字母组成 print(str.isnumeric()) #检测字符串是否只由数字组成,与sidigit的区别暂时不知 print(str.isspace()) #检测字符串是否只由空白字符组成 print(str.istitle()) #检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写 print(str.isupper()) #检测字符串中所有的字母是否都为大写
#join方法是将一个字符串序列,如列表或者元祖使用某种字符链接起来 str3 = ["h","e","l","l","o"]; str4 = ("w","o","r","l","d") print("-".join(str3)) print("*".join(str4)) #打印如下 h-e-l-l-o w*o*r*l*d
print(str.ljust(20,"_")) #返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。如果指定的长度小于原字符串的长度则 #输出 hello world_________
print(str.lstrip("h")) #用于截掉字符串左边的空格或指定字符 #输出 ello world
print(str.replace("l","a")) #字符串内字符替换,第一个参数为旧字符,第二个参数为要替换的新资费,第三个参数为替换的最多次数,可以不写 #输出 heaao worad print(str.replace("l","a",1)) #如果加上第三个参数,比如只替换一次 #输出 healo world
print(str.split(" ")) #切片,按照参数中的字符将字符串切成一个列表,第二个参数可以指定切片次数 #输出 ['hello', 'world'] print(str.rsplit("l",1)) #切片,与split不同的是从有王座开始切 #输出 ['hello wor', 'd']
print(str.startswith("h")) #检查是否以自定字符串开头 print(str.strip()) #移除字符串头尾指定的字符,默认为空格 print(str.swapcase()) #转换字符串大小写 print(str.title()) #将字符串每个单词的开头字母大写,其余字母小写 print(str.upper()) #将小写字母转换为大写 print(str.zfill()) #返回指定长度的字符串,原字符串右对齐,前面填充0