欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python 基础day4

程序员文章站 2022-04-06 12:26:07
...
整体大纲
关于占位符


tpl = "i am %s" % "alex"
 

tpl = "i am %s age %d" % ("alex"18)

 

tpl = "i am %(name)s age %(age)d" % {"name""alex""age"18}
 

函数:len()


1:作用:返回字符串、列表、字典、元组等长度


2:语法:len(str)


3:参数:
str:要计算的字符串、列表、字典、元组等


4:返回值:字符串、列表、字典、元组等元素的长度


5:实例
5.1、计算字符串的长度:

i = count

len(i) =  5 


一、
1,int。 数字:运算。1 ,2,3...
2,bool。判断真假:True, False.
3,str。简单少量的储存数据,并进行相应的操作 name = 'alex',
4,tupe。(1,'alex')

5,list:大量数据,[1,'ses',True,[1,2,3],{'name':'jinxin'}]
6,dict:字典{'name':'jinxin','age':18,'name_list':['张三','李四']}

1、 关于bool 和str 的转换
bool: 真 True 1 , 假 False 0

1 字符串--->bool值 bool(str)

非空字符串转换成bool True
'' 空字符串转换成bool False

s = 'sdfa'
s1 = 'a'
s2 = '1'
s3 = ''
print(bool(s))
print(bool(s1))
print(bool(s2))
print(bool(s3))

#bool--->str值


a = str(True) # 'True'
a1 = str(2 > 1) # 'True'
print(a1,type(a1))'True'

b = str(False) # 'False'

print(a,type(a))
 print(b,type(b))


因为空的是 False
name = ''
if name:
print('输入正确')
else:
print('请输入内容')

2、索引和切片 [起始位置:结束位置:步长 ]
例子

1,索引和切片 [起始位置:结束位置:步长]   字符串也能切片
s1 = 'python全栈8期'
索引从0开始 [索引(下标,index)]
# print(s1[0]) p
# print(s1[3]) h
# print(s1[5]) n
# print(s1[6]) 全
# print(s1[-1]) 期

#切片 顾头不顾腚 注意 1第6个没有 实际到第5个 2 本来就有9个字符 但是10 12 19 到头了 所以默认到最后 3 6:表示 到最后
# print(s1[0:6]) python
# print(s1[6:10])
# print(s1[6:11])
# print(s1[6:]) 全栈8期

# print(s1[1:5])
#pto
取片
[起始位置:结束位置:步长]

#s1 = 'python全栈8期'
# print(s1[0:5:2]) pto
# print(s1[0:7:3]) ph全

li = ['123a4b5c']
l1 = li[0][1:4]
print(l1)

23a


li = ['123a4b5c']
l1 = li[0][0:7:2]
print(l1)
1345
#倒取值:加步长 3::1 和3::-1 区别 3::1 打印 hon全栈8期 3::-1 打印htyp
python全栈8期 
# print(s1[3::-1])
# print(s1[5:0:-2]) nhy
# print(s1) #不变
# s2 = s1[0:6]
# print(s2)
python


3 字符串关于大写 小写
ret = 'alexS'
#字符串的使用方法。
#1 capitalize 首字母大写,其他的全小写 str1 = str.capitalize()
                  print(str,str1) 固定用法
ret = "wangyan"
ret1 = "wangyan".capitalize()
print(ret,ret1)
c
例子 全大写或者全小写
ret = ‘Wangyan’
ret2 = ret.upper()
ret3 = ret.lower()
print(ret2,ret3)


code = 'A'
your_code = input('请输入验证码,不区分大小写')
if your_code == 'A' or your_code == 'a':
print('您输入的正确')
else:print('请重新输入')

不区分大小写的用法
code = 'wangYan'.lower()
your_code = input('输入不区分大小字母').lower()
if code == your_code :
print('答对了')
else :
print('重新输入')

code = 'adeE'.upper()
your_code = input('请输入验证码,不区分大小写').upper()
if your_code == code:
print('您输入的正确')
else:print('请重新输入')
'''
# 大小写翻转 .swapcase()
例子
code = 'wangYan'
code1 = code.swapcase()
print(code,code1)
wangYan WANGyAN

#以特殊符号或者空格隔开,每一个字符串首字母大写 .title()
例子
code = ('wangyan luodan wmutian')
code1 = code.title()
print(code1)
4 字符串居中 并填充   固定格式      字符串.center(数字为字符串中心两边的空格和,'填充内容')
code = 'wangYan'
print(code.center(33,'@')) @@@@@@@@@@@@@[email protected]@@@@@@@@@@@@

5# * 返回bool值 startswith endswith

code = 'wangYan'
code1 = code.startswith('w')
print(code1)
True 只要开头一样 一个或者几个一样 否则False
ret = '123454'
ret2 = ret.endswith('3',0,3)
print(ret2)
True 
 
ret =" alex"
# ret5 = ret.startswith('l',1,3) # 切片
# print(ret5)
True
# ret6 = ret.endswith('S',-2,)
# print(ret6)
False

6# ** count 字母有多少个数 0,6 是范围
例子
ret = 'wangyanluodan'

ret6 = ret.count('a',0,6)
print(ret6)
2个
ret = alex
# ret7 = ret22.count('a')
# ret7 = ret22.count('ale') # 整体与个体
# ret7 = ret22.count('W') # 0
# ret7 = ret22.count('a',0,7) # 切片的count
# print(ret7)

7 tab 键补全
# a2 = "qwaaaaaaaa\taa"
#\t前面的补全
# 默认将一个tab键变成4个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个
,以此类推每次补全8个
。 . len(ret8) 长度是多少

# ret8 = a2.expandtabs()
# print(ret8,len(ret8))
例子
a1="qwaaaaaaaa\taa"
a2 = a1.expandtabs()
print(a2,len(a2))
qwaaaaaaaa      aa 18
8、find和index 查找
ret = 'aleaxS'
# * find 通过元素找到索引(找到第一个元素),找不到返回-1
# ret9 = ret.find('a')
# # ret9 = ret.find('W',0,5)
# print(ret9)
# #index 和find用法一模一样,找不到元素,就会报错
# ret10 = ret.index('w')
# print(ret10)


a1="qwaaaaaaaa\taa"

a2 = a1.find('b')
print(a2) -1
'''
a1="qwaaaaaaaa\taa"

a2 = a1.find('a')
print(a2) 2

a1="qwaaaaaaaa\taa"

a2 = a1.index('a')
print(a2) 2
a1="qwaaaaaaaa\taa"

a2 = a1.index('w')
print(a2) 报错

9 * strip 去除字符串前后的空格及你想去除的元素 '.strip() 去除左边的lstrip 右边的 rstrip
只要有的元素都会从做右边 依次去除元素       字符串 .strip()

ret
# ret11 = ' alex '.strip()
# print(ret11)
'''
name = 'alex'
username = input('请输入你的用户名:').strip()
if username == name :
print('登录成功')
'''

# ret11 = ' alex '.lstrip()
# print(ret11)

# ret11 = ' alex '.rstrip()
# print(ret11)
'  alex

#一:

# ret12 = 'asldfkjafa'.strip('a')
# print(ret12)
#二:
# ret13 = 'asldfkjafa'.strip('sa')
# print(ret13)
# ret13 = 'asldfkjafa'.strip('salf')
# print(ret13)
# ret14 = 'asldfkajafa'.strip('saWlf')
# print(ret14) dfkj  

10 #split * 将字符串分割成列表 (把字符串分开成多个小字符串组成列表)

# ret15 = 'jinxin alex wusir'
# ret16 = ret15.split()
# print(ret16)
['jinxin', 'alex', 'wusir']

# ret15 = 'jinxin,alex,wusir' split.(',') 逗号字符串格式把整个字符串组成列表
# ret16 = ret15.split(',')
# print(ret16)
['jinxin alex wusir']

# ret15 = 'title tle tlie'
# ret16 = ret15.split('t')
# print(ret16)

把列表变成字符串 ‘’ 出来就是字符串

l1 = ['jinxin', 'alex', 'wusir']
li = ' '.join(l1)
print(li)

jinxin alex wusir


11# * 替换 replace 格式 replace.(‘原来元素’,'改变元素',改变几个数字)
# ret18 = '粉红色打开了粉红色级第三粉红色'
# ret19 = ret18.replace('粉红色','嫩绿色',1)
# print(ret19)

12# 格式化输出 format .format

li = ['alex','eric','rain']
# # 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
 
info = "{}_{}_{}".format(li[0],li[1],li[2])
print(info)

#第一种:
# ret20 = 'name:{},sex:{},身高:{}'.format('alex','ladyboy',178)
# print(ret20)
ret18 = 'name :{},sex:{},hig:{}'.format("王岩","男",174)
print(ret18)
name :王岩,sex:男,hig:174


#第二种:
# ret20 = 'name:{0},sex:{1},身高:{2},name:{0}'.format('alex','ladyboy',178)
# print(ret20)

ret18 = 'name :{0},sex:{1},hig:{2},name{0}'.format("王岩","男",174)
print(ret18)

name :王岩,sex:男,hig:174,name王岩


#第三种:键值对 注意格式 .format(字符串的引号)
# ret20 = 'name:{name},sex:{sex},身高:{high},name:{name}'\
# .format(sex = 'ladyboy',high = 178,name='alex')
# print(ret20)


#13 判断条件

# name='123'
#
print(name.isalnum()) #字符串由字母或数字组成
# print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成
not isdight 意思就是 除了字母以外的任何元素

s = 'aelsdskjl'
# s = s[1:]
# print(s)
elsdskjl
14
#for 变量 in 可迭代对象
for in :从里面打印索引列表
例子
s = 'abcdefghijk'
print(len(s))
index = 0
while True :
print(s[index])
index += 1
if len(s) == index :
break'''

s = 'abcdefghijk'
for i in s:
print(i)
方法一
s = 'abcdefghijk'

# print(len(s)) #测量长度
# index = 0
# while True:
# print(s[index])
# index += 1
# if index == len(s):
      break
方法二
s = 'abcdefghijk'
# for i in s:
# print(i)


ount = 0
s = 'abcdefghijk'
for i in s:
if i.isdigit():
count += 1
else:
print(666)
print(count)
---------------------

s = 'fs4dkjla123fkj2dsa'
count = 0
for i in s:
if i.isdigit():
count += 1
else:print(666)
print(count)

666
666
666
666
666
666
666
666
666
666
666
666
666
5

 
# 如:content = input(‘请输入内容:’)  # 如用户输入:
# # 5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input('请输入内容:')
index = content.index('+')
s1 = int(content[0:index])
s2 = int(content[(index +1):(index +2)])
s = s1 + s2
print(s)