1.使用 as 关键字给导入的模块或对象重命名。模块或对象名称较长或容易混淆的时候比较常用
from math import sqrt as square_root
print(square_root(100))
# 10.0
2.函数做为其他函数的参数
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def do_twice(func, x, y):
return func(func(x, y), func(x, y))
a = 5
b = 10
print(do_twice(add, a, b))
# 30
3.范围(Range)
如果使用一个参数调用 Range,则会生成0到该参数值的对象。
如果使用两个参数调用范围,则会从第一个值到第二个值的对象。
如果使用第三个参数,第三个参数决定了产生的序列的间隔。
numbers1 = list(range(10))
print(numbers1)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers2 = list(range(3, 8))
print(numbers2)
# [3, 4, 5, 6, 7]
numbers3 = list(range(5, 20, 2))//打印5-20之间的奇数,注意不能为浮点数否则会报错
print(numbers3)
# [5, 7, 9, 11, 13, 15, 17, 19]
4.逻辑运算符
Python 的布尔运算符分别是 and, or, 和 not。
and 运算符有两个参数,只有当两个参数均为 True 时,结果为 True,否则结果为 False。
or 运算符也有两个参数。如果其参数中的任何一个(或两者)都为 True,则结果为 True; 如果两个参数均为 False,则结果为 False。
not 运算符只有一个参数,运算结果是将求反。
print(1 == 1 and 2 == 2) # True
print(2 < 1 and 3 > 6) # False
print(1 != 1 or 2 == 2) # True
print(2 < 1 or 3 > 6) # False
print(not 1 == 1) # False
print(not 1 > 7) #True
5.运算符优先级
6.异常
ImportError: 无法引入模块或包。
IndexError: 下标索引超出序列边界;
NameError: 使用一个还未赋予对象的变量;
SyntaxError: 代码逻辑语法出错,不能执行;
TypeError: 传入的对象类型与要求不符;
ValueError: 传入一个不被期望的值,即使类型正确。
KeyError: 试图访问你字典里不存在的键。
IOError: 输入输出异常。
ZeroDivisionError:除数为0
try:
#TODO
except(ValueError, ZeroDivisionError):
#发生异常
finally:
#终须执行的代码
#-------------------------------
#raise 手动引发异常,
raise NameError("Invalid name!")
7.断言
assert 断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假
如果断言失败,assert 可以接受第二个传递给 AssertionError 的参数。
temp = -10
assert temp == -10
#TODO
assert (temp >= 0), "Colder than absolute zero!"
# AssertionError: Colder than absolute zero!
8.文件
file = open("test.txt") #打开文件
# 写模式
open("filename.txt", "w")
# 读模式
open("filename.txt", "r")
open("filename.txt")
# 二进制写入模式
open("filename.txt", "wb")
# 关闭文件
file.close()
# 返回读取每一行的内容数组
file.readlines()
# 打印文件 “filename.txt” 的所有内容
file = open("filename.txt", "r")
cont = file.read()
print(cont)
file.close()
# 如果只要读取文件一部分内容,你可以提供一个数字作为 read 方法的参数。决定要读取的字节数。
# 你可以进行多次调用来读取同一个文件对象,逐字节读取更多的内容。如果没有参数,read 返回文件的其余部分内容
file = open("filename.txt", "r")
print(file.read(16))
print(file.read(4))
print(file.read(4))
print(file.read())
file.close()
# 打开utf-8格式编码的文件
file = open("filename.txt", "r", encoding="UTF-8")
# 写入文件,请使用 write 方法,该方法将字符串写入文件
file = open("file.txt", "w")
file.write("This has been written to a file")
file.close()
#write方法返回的是写入的字节数
#创建一个临时变量(通常称为f),该变量只能在 with 语句的缩进块中访问,在 with 语句结束时,即使文件内部发生异常,文件也会自动关闭。
try:
with open("test.txt") as :
print(f.read())
except:
print("Read Error")