Python技能树——进阶语法讲解(2)
目录
1* with…as…
在 Python 中,with...as...常见于文件操作或数据库操作,在文件使用自后,它会自动释放资源。不像其他方法那样,忘记了关闭文件,另一种方法我给忘了,反正用with...as...足够了。
而open()函数有两个参数:文件名和模式。
有四种打开文件的不同方法(模式):
-
"r" - 读取 - 默认值。打开文件并进行读取,若文件不存在将会报错。 "a" - 追加 - 打开供追加的文件,文件不存在则创建该文件。 "w" - 写入 - 打开文件进行写入,文件不存在则创建该文件。 "x" - 创建 - 创建指定的文件,文件存在则返回错误。
此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
-
"t" - 文本 - 默认值。文本模式。 "b" - 二进制 - 二进制模式(例如图像)。
如果什么都不写,就是默认的"rt"。
简要的展示一下用法:
with open("coco names.txt","rt") as f: data = f.read()
否则:
f = open("coco names.txt") try: data = f.read() finally: f.close()
2* 异常捕获
如果程序错误了将会终止运行,那要如何避免程序被强迫终止,出现问题提示出问题,然后继续运行呢?那么这就是 try … except 语句使用的场景了。
它的语法格式是:
try: 可能会出错的代码 except 异常对象: 处理异常代码
按照上方的样子,我们有一下形式的代码:
num1 = 15 num2 = 0 try: num3 = num1 / num2 except: print("除数不能等于 0 ")
或:
num1 = 16 num2 = "夏天是冰红茶" try: num3 = num1 / num2 except ZeroDivisionError: print("除数不能等于 0 ") except TypeError: print("除数类型错误")
第二种是指出了错误发出的类型,如果不知道采用第一种就就可以了。
3* 字符串方法
字符串是编程中很重要的一类,下面的字符串都是正确的形式:
ID = "夏天是冰红茶" ID = 夏天是冰红茶 ID = """夏天是冰红茶""" ID = 夏天是冰红茶
字符串的切片:
ID_name = "夏天是冰红茶" print(ID_name) #打印全部 print(ID_name[0:6]) # 打印全部 print(ID_name[0]) # 打印字符串的第一个字符 print(ID_name[-1]) # 打印字符串的最后一个字符 print(ID_name[5]) # 打印字符串的最后一个字符 print(ID_name[:2]) # 输出夏天 print(ID_name[3:]) # 输出冰红茶
#运行台# 夏天是冰红茶 夏天是冰红茶 夏 茶 茶 夏天 冰红茶 #- 夏天是冰红茶 #- 0 1 2 3 4 5
find()方法:
ID_name = "夏天是冰红茶" a=ID_name.find("冰") print(a)
#运行台# 3
使用find()方法可以求某个字符在字符串当中的索引值。
title() 方法:
ID_name = "maAKtsc" a=ID_name.title() print(a)
#运行台# Maaktsc
使用title()方法使字符串只让首字母大写。
upper() && lower() :
ID_name = "maAKtsc" a=ID_name.upper() print(a) a=ID_name.lower() print(a)
#运行台# MAAKTSC maaktsc
count()计数 :
txt = "I love apples, apple are my favorite fruit" x = txt.count("apple", 10, 24) print(txt[10:25]) print(f"出现了{x}次")
#运行台# les, apple are 出现了1次
格式:string.count(value, start, end)
4* lambda 表达式
lambda 用作另一个函数内的匿名函数时。
def myfunc(n): return lambda a : a * n mydoubler = myfunc(2) mytripler = myfunc(3) print(mydoubler(11)) print(mytripler(11))
#运行台# 22 33
python技能树——