一、可变与不可变类型
1、可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型(列表、字典等)
2、不可变类型:值改变,id也变,证明是产生了新值,并没有改变原值,原值是不可变类型(int、float、字符串等)
二、数字类型
1、int整形
(1)用途
用于描述年龄、个数、号码、等级等
(2)定义方式
number = 100 <<>> number = int(100)
int功能可以把纯数字的字符串转化成int类型
(3)基操
算数运算符和比较运算(加减乘除和比较大小)
2、float浮点型
(1)用途
用于表示身高、体重、薪资等
(2)定义方式
salary = 18000 <<>> salary = float(18000)
float 功能可以把浮点数组成的字符串转为float类型
(3)基操
算数运算符和比较运算(加减乘除和比较大小)
三、字符串类型
1、用途
用于记录描述性质的状态,如:姓名、昵称、性别等
2、定义方式
在引号(' ' , " " , """ """)内包含一串任意类型的字符
3、基操
(1)按索引取值(正向取+反向取):只能取值,不能换
a = "hello world"
print(s[0],type(s[0])) # 取第一个字符
print(s[-1]) # 取最后一个字符
(2)切片(顾头不顾尾,步长)>>>属于拷贝操作
a = "hello world"
new_s = s[1:7:] #取第2到第6个值,步长为2
print(new_s)
print(s)
new_s=s[:] # 拷贝完整的字符
(3)长度len
s = "hello world"
print(len(s))
(4)成员运算in和not in
用于判断某段字符是否在/不在原字符串中
(5)移除空白 strip
可以加在input之后:name = input("请输入你的姓名:").strip()
去除左右两边的非空白字符:print("**+=-%^#****he**llo**%^#**+=**".strip("*+=-%^#"))
(6)切分 split:把字符串按照某个分隔符切成一个列表
userinfo = "yan:123:12:1"
res = userinfo.split(":")
(7)循环
for i in "hello":
print(i)
四、基操
1、strip,lstrip,rstrip(移除空白,移除左/右边所有空白)
print("***hello***".strip("*"))
print("***hello***".lstrip("*"))
print("***hello***".rstrip("*"))
2、lower,upper(全部小/大写)
msg = "AbCDEFGhigklmn"
res = msg.lower()
res = msg.upper()
print(res)
res=msg.swapcase()
print(res)
3、startswith,endswith(判断是否有某个字符串开头/结尾)
msg = "ab is yxx ab"
print(msg.startswith("ab"))
print(msg.endswith("b"))
print(msg.endswith("c"))
4、format的三种玩法
4.1 %s的方式
name = "yan"
age = 18
res1="my name is %s my age is %s" % (name,age)
print(res1)
4.2 format的方式
name = "yan"
age = 18
res1="my name is {} my age is {}".format(name,age)
res1="{0}{0}{0}{1}".format(name,age)
res1="my name is {name} my age is {age}".format(age=18,name="egon")
print(res1)
4.3 f''
name = "yan"
age = 18
res1 = f"my name is {name} my age is {age}"
print(res1)
5、split,rsplit(切分,从右开始切分)
userinfo="yan:123:18"
# print(userinfo.split(":"))
print(userinfo.split(":",1))
print(userinfo.rsplit(":",1))
6、join
Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
7、replace(去除某种符号)
msg = "***abcd hello***"
res=msg.replace('*','').replace(' ','')
res=msg.strip('*').replace(' ','')
print(res)
s="taa hahah msfhfg taa ab 666"
# res=s.replace(taa','ab')
res=s.replace('taa','ab',1)
print(res)
print(s)
8、find,rfind,index,rindex,count(查找某个值)
x = "hello yan yan yan"
res=x.find("yan")
res=x.find("yan123") # -1代表没有找到
print(res)
res=x.rfind("yan")
print(res)
res=x.find("yan",0,3)
print(res)
res = x.index("yan123") # 找不到则报错
print(res)
9、center,ljust,rjust,zfill(居中,左对齐,右对齐,0补满空缺)
x = "yan"
res=x.center(50,'*')
print(res)
print(x.ljust(50,"*"))
print(x.rjust(50,"*"))
print(x.zfill(50))
print(x.rjust(50,"0"))
10、expandtabs(把“\t”换为空格)
print("hello\tworld".expandtabs(1))
11、captalize,swapcase,title(第一个字母大写,两极反转,单词首字母大写)
print("hello world yan".capitalize())
print("aBcDeF".swapcase())
print("hello world yan".title())
12、is其他
name='yan123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
name="aaainputbbbbb"
print(name.isidentifier())
name="abc123"
print(name.islower())
print(name.isupper())
name=" "
print(name.isspace())
name="My Name Is Yan"
print(name.istitle())
13、is数字系列
在python3中
num1=b'4' #bytes
num2=u'4' #unicode,python3中无需加u就是unicode
num3='四' #中文数字
num4='Ⅳ' #罗马数字
14、 bytes、unicode
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())
15、unicode、中文数字、罗马数字
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())
16、unicode
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())
该类型总结:存一个值;有序;不可变
x="hello"
x[0]="H"
网友评论