马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Vermilion 于 2017-8-16 08:43 编辑
《零基础入门学习python》第014讲个人学习笔记--各种奇葩的内置方法(这一节里python2和3有点区别)
0.切片
>>>str1='I love fishC.com'
>>>str1[:6]
'I love' #python没有字符,只有单个的字符串
>>>str1[5]
'e' #字符串同元祖一样定义很难改变
>>>str1[:6]+'插入的字符串'+str1[6:]
>>>str1
'I love 插入的字符串fishc.com' #此时旧的字符串依旧存在
>>>str1=str1[:6]+'插入的字符串'+str1[6:]
>>>str1
'I love 插入的字符串fishc.com'
#此时指针指向已改变,但原来字符串'I love fishc.com'还在,只是如果没有变量指向它,过一会被垃圾处理器回收
str1[::3]代表每三个切一个出来
各种内置方法
1.
capitalize() #将第一个字母大写
>>>str2='xiaoxie'
>>>st2.capitalize()
'Xiaoxie'
2.
casefold() #将所有大写变小写
>>>str2='DAXIExiaoxie'
>>>str2.casefold()
'daxiexiaoxie'
>>>str2
'DAXIExiaoxie'
3.
center(width) #将字符串居中,并使用空格至长度width的新字符串中
>>>str2.center(40)
' DAXIExiaoxie '
4.
count(sub[,start[,end]]) #返回sub在字符串的出现次数,start和end参数表示范围,可选
>>>str2.count('xi')
2
>>>str2
'DAXIExiaoxie'
5.
endswith(sub[,start[,end]]) #检查字符串是否以sub子字符串结束,如果是,则返回true,否,则返回false。start和end参数表示范围,可选
>>>str2
'DAXIExiaoxie'
>>>str2.endswith('xi')
false
>>>str2.endswith('xie')
true
6.
expand tabs([tabsize=8])
把字符串中的tab函数(\t)转换为空格,如不指定参数,默认的空格数是8
>>>str3='I\tlove\tFishC.com!'
>>>str3.expandtabs()
'I love FishC.com!'
#如这里就是从I到l(包括I不包括l)8格,从l到F(包括l不包括F)8格
7.
find(sub[,start[,end]])
检测sub函数是否包含在字符串中,如果有则返回索引值,否则返回-1。start和end参数表示范围,可选
>>>str3.find('efc')
-1
>>>str3.fid('com')
13
还有三十个剩下来的字符串内置函数用法,只是课上没有具体例子,我在这里就不说了
要是想查去鱼神这里:
字符串的各种http://bbs.fishc.com/forum.php?mod=viewthread&tid=38992&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403内置方法
注意的地方
0.
如何让字符串跨越多行?
一:
>>>str1='''待到啊饿哈后返额发挥
撒复垦烧饭吗和我色饭
三分了看法底稿涉农分。''' #:(字是随便编的)
二:
>>>str2= '待到啊饿哈后返额发挥\
撒复垦烧饭吗和我色饭\
三分了看法底稿涉农分。'
三:
>>>str3=('待到啊饿哈后返额发挥'
'撒复垦烧饭吗和我色饭'
'三分了看法底稿涉农分。')
1.三引号字符还能用来跨行注释
''' salhgiearoifhiofh
afoiefioheoihpaif'''
2.
file1=open('C:\Windows\temp\readme.txt','r')表示以只读方式打开"C:\Windows\temp\readme.txt"这个文本文件,这个语句会报错,因为在字符串中,“\t”和“\r”分别表示横向制表符和回车符
只需要使用原始字符串操作“R”或“r”即可。
>>> file1 = open(r'C:\windows\temp\readme.txt', 'r')
后面是课后作业最后一题答案,放在这里只是单纯自己复习的方便,要是真想看出门左拐小甲鱼课后作业,自己做自己想再看
3.# 密码安全性检查代码
#
# 低级密码要求:
# 1. 密码由单纯的数字或字母组成
# 2. 密码长度小于等于8位
#
# 中级密码要求:
# 1. 密码必须由数字、字母或特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)任意两种组合
# 2. 密码长度不能低于8位
#
# 高级密码要求:
# 1. 密码必须由数字、字母及特殊字符(仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)三种组合
# 2. 密码只能由字母开头
# 3. 密码长度不能低于16位
symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''
chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
nums = '0123456789'
passwd = input('请输入需要检查的密码组合:')
# 判断长度
length = len(passwd)
while (passwd.isspace() or length == 0) :
passwd = input("您输入的密码为空(或空格),请重新输入:")
length = len(passwd)
if length <= 8:
flag_len = 1
elif 8 < length < 16:
flag_len = 2
else:
flag_len = 3
flag_con = 0
# 判断是否包含特殊字符
for each in passwd:
if each in symbols:
flag_con += 1
break
# 判断是否包含字母
for each in passwd:
if each in chars:
flag_con += 1
break
# 判断是否包含数字
for each in passwd:
if each in nums:
flag_con += 1
break
# 打印结果
while 1 :
print("您的密码安全级别评定为:", end='')
if flag_len == 1 or flag_con == 1 :
print("低")
elif flag_len == 3 and flag_con == 3 and (passwd[0] in chars):
print("高")
print("请继续保持")
break
else:
print("中")
print("请按以下方式提升您的密码安全级别:\n\
\t1. 密码必须由数字、字母及特殊字符三种组合\n\
\t2. 密码只能由字母开头\n\
\t3. 密码长度不能低于16位")
break
|