基本数据类型:
1:int类型定义:age=int(10)
名字(参数)
类型转换:res=int('100010') 纯数字字符串转为int
名字(参数)
字符串类型:
定义:msg='hello'
类型转换:str可以把任意类型转成字符串
1.:优先掌握:
1、1:按索引值取(正向取+反向取),只能取
msg='hello world'
正向取:print(msg[0])
反向取;print(msg[-1])
只能取:msg[0]='H'(不能改)
1、2:切片:索引的拓展应用,熊一个大字符串中拷贝一个子字符串
msg='hello world'
顾头 不顾尾
res=msg[0:5]
步长:
res=msg[0:5:2]# 0 2 4
反向步长:
res=msg[5:0:-1]
res=msg[:] == res=msg[0:5]
print(len(msg))#统计字符的个数
1.3移除字符串两侧的多余的符号strip:默认去除多余空格
msg='***jdhhebf***'
msg.strip()
print(msg.strip) or input().strip()
1.4切分split:把一个字符按照某种分隔符进行切分,得到一个列表
#默认分隔符是空格
info='egon:18:male'
res=infp.split
print(res)
默认分隔符是空格
指定分隔次数(了解)
1.7循环
for x in "hello 你好":
print(x)
#2:需要掌握:
1、strip,lstrip,rstrip
2、lower,upper(改为小写或者大写)
msg='AbbbCCCC'
print(msg.lower())
#3、starswith.endswith(以什么开始,以什么结束)
4.format,格式化字符串:format的三种玩法
print("my name is %s %s" % ("egon",18))
print("my name is {} {}".format("egon",18))
print("my name is {x} {y}".format(y=18,x="egon"))
print("my {1}name is {0} {0}{1}{1}".format("egon",18))
x='egon'
y=18
print(f"=====>{x}===>{y}")
5:split,rsplit(r为改变从右往左切,将字符串切成字符串)
6、join:把列表拼接成字符串(以某种分隔符)
l='egon','16','male'
':'.join(l) (用':'来拼接)
7、replace(替换参数)
msg='you can you up no can no bb'
print(msg.replace('you','YOU')
8.isdigit:判断字符串是否由纯数字组成
--------------------------------------------------------------------------------
列表:在[]内用逗号分隔开多个类型的值#
用途:按照位置存多个值
l=[111,3.1,'abc',[]]
list(传入的是任意能够被for循环遍历的类型)
:常用操作、内置方法:
1、按照索引存取值:(正向+反向取):可以改也可以取
l=[111,222,333,444,555]
l[5]=666#超出索引范围则报错,即不能为列表增加值
2、切片(顾头不顾尾,步长)
l=[111,222,333,444,555]
res=l[0:3]
print(res)
print(l)
3、长度len()
4/成员运算in和not in
l=[111,222,333,444,555]
print(111 in l)
print(111 not in l)
5、追加:
l.append(666)
print(l)
5.1 往指定位置前插入值insert
l.insert(0,123123231231)
print(l)
6、删除
del l[0] #通用删除
print(l.remove('111')) #l专属删除方法之指定元素删除
print(l.pop) #默认删除索引-1的值、可以返回所删除的值
res=l.pop(1)
print(l)
print(res)
7、循环
l=[111,"aaa",222,333,444,555]
for item in l:
print(item)
需要了解的操作:
# 1.find,rfind,index,rindex,count
# 1.1 find:从指定范围内查找子字符串的起始索引,找得到则返回数字1,找不到则返回-1
>>> msg='tony say hello'
>>> msg.find('o',1,3) # 在索引为1和2(顾头不顾尾)的字符中查找字符o的索引
1
# 1.2 index:同find,但在找不到时会报错
>>> msg.index('e',2,4) # 报错ValueError
# 1.3 rfind与rindex:略
# 1.4 count:统计字符串在大字符串中出现的次数
>>> msg = "hello everyone"
>>> msg.count('e') # 统计字符串e出现的次数
4
>>> msg.count('e',1,6) # 字符串e在索引1~5范围内出现的次数
1
# 2.center,ljust,rjust,zfill
>>> name='tony'
>>> name.center(30,'-') # 总宽度为30,字符串居中显示,不够用-填充
-------------tony-------------
>>> name.ljust(30,'*') # 总宽度为30,字符串左对齐显示,不够用*填充
tony**************************
>>> name.rjust(30,'*') # 总宽度为30,字符串右对齐显示,不够用*填充
**************************tony
>>> name.zfill(50) # 总宽度为50,字符串右对齐显示,不够用0填充
0000000000000000000000000000000000000000000000tony
# 3.expandtabs
>>> name = 'tony hello' # 表示制表符(tab键)
>>> name
tony hello
>>> name.expandtabs(1) # 修改 制表符代表的空格数
tony hello
# 4.captalize,swapcase,title
# 4.1 captalize:首字母大写
>>> message = 'hello everyone nice to meet you!'
>>> message.capitalize()
Hello everyone nice to meet you!
# 4.2 swapcase:大小写翻转
>>> message1 = 'Hi girl, I want make friends with you!'
>>> message1.swapcase()
hI GIRL, i WANT MAKE FRIENDS WITH YOU!
#4.3 title:每个单词的首字母大写
>>> msg = 'dear my friend i miss you very much'
>>> msg.title()
Dear My Friend I Miss You Very Much
# 5.is数字系列
#在python3中
num1 = b'4' #bytes
num2 = u'4' #unicode,python3中无需加u就是unicode
num3 = '四' #中文数字
num4 = 'Ⅳ' #罗马数字
#isdigt:bytes,unicode
>>> num1.isdigit()
True
>>> num2.isdigit()
True
>>> num3.isdigit()
False
>>> num4.isdigit()
False
#isdecimal:uncicode(bytes类型无isdecimal方法)
>>> num2.isdecimal()
True
>>> num3.isdecimal()
False
>>> num4.isdecimal()
False
#isnumberic:unicode,中文数字,罗马数字(bytes类型无isnumberic方法)
>>> num2.isnumeric()
True
>>> num3.isnumeric()
True
>>> num4.isnumeric()
True
# 三者不能判断浮点数
>>> num5 = '4.3'
>>> num5.isdigit()
False
>>> num5.isdecimal()
False
>>> num5.isnumeric()
False
'''
总结:
最常用的是isdigit,可以判断bytes和unicode类型,这也是最常见的数字应用场景
如果要判断中文数字或罗马数字,则需要用到isnumeric。
'''
# 6.is其他
>>> name = 'tony123'
>>> name.isalnum() #字符串中既可以包含数字也可以包含字母
True
>>> name.isalpha() #字符串中只包含字母
False
>>> name.isidentifier()
True
>>> name.islower() # 字符串是否是纯小写
True
>>> name.isupper() # 字符串是否是纯大写
False
>>> name.isspace() # 字符串是否全是空格
False
>>> name.istitle() # 字符串中的单词首字母是否都是大写
False
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
需要掌握的操作
l=[111,222,111,111]
print(l.count(111))
l = [10, -1, 3, 2, 11, 7]
l.sort(reverse=True)
print(l)
l = [10, -1, 3, 2, 11, 7]
l.clear()
print(l)
l=['a',1,'b']
l.reverse()
print(l)
l=[11,22,33]
l.extend([444,555,66])
print(l)
#
l.append([444,555,666])
print(l)
# l1=[11,22,33]
l1列表内存存储
索引0 值11的内存地址
索引1 值22内存地址
索引2 值33内存地址
l2=l1.copy() # 等同于l4=l1[:]
l2列表内存存储
索引0 值11的内存地址
索引1 值22内存地址
索引2 值33内存地址
l2[0]=4444
print(l2) # [4444, 22, 33]
print(l1) # [11, 22, 33]
l3=l1
l3[0]=4444
print(l3)
print(l1)