赞
踩
这个关键字为“断言",当其后面的条件为假时,程序自动崩溃并抛出AssertionError的异常。
def myfunction() :
def function(name,words)
def function(name = “小甲鱼”,words = “让编程改变世界”)
def function(*params)
上述二者即使同一个名字,也互相不影响,不相关。(存储地址不同)
eg.
- def Fun1(x)
- def Fun2(y)
- return x*y
- return Fun2
-
-
-
- >>>i = Fun1(8)
- >>>type(i)
- <class 'function'>
- >>>Fun1(8)(5)
- 40
- >>>Fun2(5)
- Error
- >>>g = lambda x,y :x+y
- >>>g(3,4)
- 7
第一个参数为函数或者NONE,第二个参数,是将这里面所有参数用于函数计算,如果结果为TURE,返回为一个列表
- >>>filter(lambda x:x%2,range(10))
- [1, 3, 5, 7, 9]
第一个参数为函数或者NONE,第二个参数,是将这里面所有参数用于函数计算,并将结果返回。
- >>> map(lambda x : x%2,range(10))
- [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]
与迭代不同,
思想:分而治之
缺点:运算时间较长
字典:dict = {"key":"value" , "key":"value"}
集合:
- >>>set = {1,2,3,4,5,5,4,3,2} 唯一!无序!(无法索引)
- >>>set
- {1,2,3,4,5}
打开文件:
open("file" , "打开方式“)
打开方式有:
r 只读(默认)、w 写入,会覆盖已存在的文件、x 如果文件存在,则报错、 a 写入,如果文件存在,则在末尾追加写入内容、
b 二进制打开、t 文本模式打开(默认)、...
文件对象处理方法:
f.close() 关闭文件
f.read(size) 按照字节读取,当未给定值或者给定负值时,读取剩余的所有字符,然后作为字符串返回。
文件指针,读取一次不关闭的话,指针指向末尾,第二次读入无内容。
f.seek(offset,from) 在文件中重新移动文件指针,从from(0代表起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
f.readline() 以写入模式打开,读取一行。如果文件存在,则在末尾追加
迭代读取每一行
- for each_line in f:
-
- print(each_line)
文件写入:(写入之前确定打开时,是以写入方式打开的!)
f.write(str) 写入字符串
f.writelines(seq) 写入字符串序列,seq应该是一个返回字符串的可迭代对象。
写完后关闭f.close
- try - except 语句:
-
- try:
-
- 检测范围
-
- except Exception{ as reason }
-
- 出现异常(Exception)后的代码处理
-
-
- eg:
-
- try:
- f = open("wenjianA.txt")
- print(f.read())
- f.close()
- except OSError as ass:
- print("文件出错了\n错误的原因是:" + str(ass))
-
- ==================== RESTART: C:/Users/Liuy/Desktop/test.py ====================
- 文件出错了
- 错误的原因是:[Errno 2] No such file or directory: 'wenjianA.txt'
-
- try - finally语句:
-
- try:
-
- 检测范围
-
- except Exception{ as reason }:
-
- 出现异常(Exception)后的代码处理
- finally:
- 无论如何都会被执行的内容(如将前面打开的文件关闭)
- 定义:
- eg:
-
-
- >>>class Rectangle:
- def __init__(self,x,y): ####对象初始化
- self.x = x
- self.y = y
- def getPeri(self):
- return (self.x + self.y)* 2
- def getArea(self):
- return self.x * self.y
-
- 实例化:
-
- >>>rect = Rectangle(3,4)
- >>>rect.getPeri()
- 14
- >>>rect.getArea()
- 12
标志 两个下划线 “__”
类构造器:
__init__(self)
类析构器:
__del__(self) ##删除类
内置(工厂函数)
- >>>type(len) ##查阅内置len类的类型
- <class "type">
原魔法方法(内置)可以修改.
反运算 --- 增量赋值运算 --- 一元操作符 --- 类型转换
- import time as t
-
-
- class Mytimer():
- def __init__(self):
- self.unit = ["year","month","day","hour","minute","second"]
- self.prompt = "未开始计时!"
- self.lasted = []
- self.begin = 0
- self.end = 0
-
-
- def __str__(self): ###不用最后打印,直接返回字符串
- return self.prompt
- __repr__ = __str__
-
- def __add__(self,other):
- prompt = "总共运行了"
- result = []
- for index in range(6):
- result.append(self.lasted[index] + other.lasted[index]
- if result[index]:
- prompt += (str(result[index]) + self.unit[index])
- return prompt
-
-
- #开始计时
- def start(self):
- self.begin = t.localtime()
- print("计时开始...")
- #停止计时
- def stop(self):
- self.end = t.localtime()
- self.__calc()
- print("计时结束")
- #内部方法,计算运行时间
- def __calc(self):
- self.lasted = []
- self.prompt = "总共运行了"
- for index in range(6):
- self.lasted.append(self.end[index] - self.begin[index])
- if self.lasted[index]:
- self.prompt += str(self.lasted[index]) + self.unit[index]
- #为下一轮计时初始化变量
- self.begin = 0
- self.end = 0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。