Python 基础day4

整体大纲
关于占位符


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,'@')) @@@@@@@@@@@@@wangYan@@@@@@@@@@@@@

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 aa"
# 前面的补全
# 默认将一个tab键变成4个空格,如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个
,以此类推每次补全8个
。 . len(ret8) 长度是多少

# ret8 = a2.expandtabs()
# print(ret8,len(ret8))
例子
a1="qwaaaaaaaa	aa"
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	aa"

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

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

a1="qwaaaaaaaa	aa"

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

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)




原文地址:https://www.cnblogs.com/xiaoluoboer/p/7718012.html