当前位置:   article > 正文

Python小甲鱼_小甲鱼python

小甲鱼python

(1)运算符优先级:

assert() ——用于设置断点

这个关键字为“断言",当其后面的条件为假时,程序自动崩溃并抛出AssertionError的异常。

字符串str()、列表list()、元组tuple() 都属于序列。

(2)函数

  • 函数定义

def myfunction() :

 

  • 括号内部参数为“形参”,运用函数时定义的参数为“实参”。

 

  • 函数文档 查看 xxx.__doc__,或者直接help(函数名)

 

  • 关键字参数(调用函数时用关键字定义参数,从而防止参数顺序输入错误)

def function(name,words)

  • 默认参数(调用函数不用关键字定义时,使用默认值)

def function(name = “小甲鱼”,words = “让编程改变世界”)

  • 收集参数,参数前加*。不确定调用时到底是多少个实参用收集参数

def function(*params)

 

  • 局部变量(函数内部定义的参数,变量。只在函数内部有效)
  • 全局变量(函数外部的定义变量为。处处可用,包括函数内部)

上述二者即使同一个名字,也互相不影响,不相关。(存储地址不同)

  • 与全局变量和局部变量相似,对于某一定义函数内部的函数定义,不可单独调用。

eg.

  1. def Fun1(x)
  2. def Fun2(y)
  3. return x*y
  4. return Fun2
  5. >>>i = Fun1(8)
  6. >>>type(i)
  7. <class 'function'>
  8. >>>Fun1(8)(5)
  9. 40
  10. >>>Fun2(5)
  11. Error
  • 匿名函数——lambda 表达式:可省略函数定义过程,使代码更加精简
  1. >>>g = lambda x,y :x+y
  2. >>>g(3,4)
  3. 7
  • filter()——过滤器

第一个参数为函数或者NONE,第二个参数,是将这里面所有参数用于函数计算,如果结果为TURE,返回为一个列表

  1. >>>filter(lambda x:x%2,range(10))
  2. [1, 3, 5, 7, 9]
  • map()——映射

第一个参数为函数或者NONE,第二个参数,是将这里面所有参数用于函数计算,并将结果返回。

  1. >>> map(lambda x : x%2,range(10))
  2. [0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

(3)递归

与迭代不同,

思想:分而治之

缺点:运算时间较长

(4)字典/集合

字典:dict = {"key":"value" , "key":"value"}

集合:

  1. >>>set = {1,2,3,4,5,5,4,3,2}  唯一!无序!(无法索引)
  2. >>>set
  3. {1,2,3,4,5}

 

(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() 以写入模式打开,读取一行。如果文件存在,则在末尾追加 

  迭代读取每一行

  1. for each_line in f:
  2. print(each_line)

文件写入:(写入之前确定打开时,是以写入方式打开的!)

f.write(str) 写入字符串

f.writelines(seq) 写入字符串序列,seq应该是一个返回字符串的可迭代对象。

写完后关闭f.close

(6)异常处理

  1. try - except 语句:
  2.    try
  3.          检测范围
  4.    except Exception{ as reason }
  5.         出现异常(Exception)后的代码处理
  6. eg:
  7. try:
  8. f = open("wenjianA.txt")
  9. print(f.read())
  10. f.close()
  11. except OSError as ass:
  12. print("文件出错了\n错误的原因是:" + str(ass))
  13. ==================== RESTART: C:/Users/Liuy/Desktop/test.py ====================
  14. 文件出错了
  15. 错误的原因是:[Errno 2] No such file or directory: 'wenjianA.txt'
  1. try - finally语句:
  2.    try
  3.          检测范围
  4.    except Exception{ as reason }:
  5.         出现异常(Exception)后的代码处理
  6. finally:
  7. 无论如何都会被执行的内容(如将前面打开的文件关闭)

类:

  1. 定义:
  2. eg:
  3. >>>class Rectangle
  4. def __init__(self,x,y): ####对象初始化
  5. self.x = x
  6. self.y = y
  7. def getPeri(self):
  8. return (self.x + self.y)* 2
  9. def getArea(self):
  10. return self.x * self.y
  11. 实例化:
  12. >>>rect = Rectangle(3,4)
  13. >>>rect.getPeri()
  14. 14
  15. >>>rect.getArea()
  16. 12

P42 魔法方法:

标志 两个下划线 “__”

类构造器:

__init__(self)

类析构器:

__del__(self) ##删除类

P43魔法方法:算数运算1

内置(工厂函数)

  1. >>>type(len) ##查阅内置len类的类型
  2. <class "type">

P44魔法方法:算数运算2

原魔法方法(内置)可以修改.

反运算 --- 增量赋值运算 --- 一元操作符 --- 类型转换

P45魔法方法:简单定制

  1. import time as t
  2. class Mytimer():
  3. def __init__(self):
  4. self.unit = ["year","month","day","hour","minute","second"]
  5. self.prompt = "未开始计时!"
  6. self.lasted = []
  7. self.begin = 0
  8. self.end = 0
  9. def __str__(self): ###不用最后打印,直接返回字符串
  10. return self.prompt
  11. __repr__ = __str__
  12. def __add__(self,other):
  13. prompt = "总共运行了"
  14. result = []
  15. for index in range(6):
  16. result.append(self.lasted[index] + other.lasted[index]
  17. if result[index]:
  18. prompt += (str(result[index]) + self.unit[index])
  19. return prompt
  20. #开始计时
  21. def start(self):
  22. self.begin = t.localtime()
  23. print("计时开始...")
  24. #停止计时
  25. def stop(self):
  26. self.end = t.localtime()
  27. self.__calc()
  28. print("计时结束")
  29. #内部方法,计算运行时间
  30. def __calc(self):
  31. self.lasted = []
  32. self.prompt = "总共运行了"
  33. for index in range(6):
  34. self.lasted.append(self.end[index] - self.begin[index])
  35. if self.lasted[index]:
  36. self.prompt += str(self.lasted[index]) + self.unit[index]
  37. #为下一轮计时初始化变量
  38. self.begin = 0
  39. self.end = 0

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/412544
推荐阅读
相关标签
  

闽ICP备14008679号