2、python基础
来源:互联网 发布:怎么用php写软件 编辑:程序博客网 时间:2024/06/14 07:19
Python 基础教程
demo
1、字典原本没有顺序
2、判断定位元素超时
from time import sleepz=Truefor i in range(10): if z: print('break') break else: print('sleep1') sleep(1)else: print('time out')
如果z=True,执行break跳出程序——- 用于定位元素成功
如果z=False,执行sleep(1)10次后,执行“time out”——-用于定位元素失败
sleep1sleep1sleep1sleep1sleep1sleep1sleep1sleep1sleep1sleep1time out
3、内部注释
4、类 & 方法(self) = 函数
- 三种方法相同
class Count:class Count():class Count(object): #建议使用
class Count: def add(self,a,b): #类下面的方法第一个参数,一定要写self return(a+b)c=Count() #调用类时,一定要加()print(c.add(1,2))
- 构造方法
class Count: #(家庭 钱) 父类 def __init__(self,a,b): #初始化方法,类的参数 self = 存在的空气 (爸爸) self.aa = a #(爸爸私有挣得钱,放入家庭公用财产) self.bb = b #(爸爸私有挣得钱,放入家庭公用财产) def son(self): #(儿子) money = 10 return money def add(self): #(妈妈) money = self.son() #self = 类的前缀 (妈妈使用儿子的钱) print(money) return self.aa+self.bb #(妈妈使用家庭公用财产)class NewCount(Count): #继承Count父类 子类 def __init__(self,a,b,c): #重写父类 Count.__init__(self,a,b) #继承父类初始化方法 self.cc = c def sub(self): #不带参数 return self.aa-self.bb ''' def sub(self,m,n): #带参数 return m-n '''c=Count(1,2).add() #因初始化方法含有类的参数,调用类时一定要传参print(c)Newc = NewCount(4,5,6)print(Newc.add())print(Newc.sub())'''print(Newc.sub(9,3)) '''
5、引包
import timeprint(time.time()) #需要写time前缀from time import time,sleep,ctime print(sleep(1)) #省略time前缀from time import * # *代表time模块的所有方法print(ctime(1)) #省略time前缀
- 自己定义的方法名 和 系统自带方法名相同,优先执行自己定义的方法名
from time import sleep as sys_sleep #重命名,与自定义sleep区分开,也适用于若方法名很长,重命名简写一点def sleep(a): print("my def sleep"+str(a))sleep(11) sys_sleep(1) '''输出my def sleep11'''
- 调用同目录下其他文件方法
import class_demo #调用其他文件中方法result = class_demo.add(7,8) #不能使用调用文件下,类中的方法,可以使用其函数print(result)
同级目录下调用
#import_count.pyfrom count import add #引用count.py文件下的add函数if __name__ == '__main__': result = add(3,5) #使用count.py文件下的add函数 print(result)
引用跨一级模块(目录)下文件
#import_count.pyfrom module.count import add #引用module模块下,count.py文件的add函数if __name__ == '__main__': result = add(3,5) #使用count.py文件下的add函数 print(result)
跨目录多级调用
import_count.py—->new_count.py—->count.py里的add方法__init__.py表示module模块是标准文件,这样程序运行时才不报错
python的引包顺序
import count
1. 看当前目录下有没有count文件或目录
2. python安装lib目录下找count文件或目录
3. 环境变量path中添加的目录下找count文件或目录
# module/new_count.pyfrom count import add # 相对引用def new_add(a,b): #同级目录下,new_count.py调用count.py下add函数 c=add(a,b) return cif __name__ == '__main__': print(new_add(1,1))
# import_count.pyimport sys #(顺序很重要)sys.path.append("./module") #环境变量path添加module模块路径from module.new_count import new_add #引用module模块下,count.py文件的add函数if __name__ == '__main__': result = new_add(3,5) #使用count.py文件下的add函数 print(result)
不同子目录下调用
tesecase/import_count.py—->module/new_count.py—->module/count.py文件下的add函数
# module/new_count.pyfrom .count import add # 注意这里.count需要加.def new_add(a,b): #同级目录下,new_count.py调用count.py下add函数 c=add(a,b) return cif __name__ == '__main__': print(new_add(1,1))
# testcase/import_count.pyimport os,sysparentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.insert(0,parentdir) #不同子目录下调用,固定写法sys.path.append("./module") #环境变量添加module模块路径from module.new_count import new_add #引用module模块下,count.py文件的add函数if __name__ == '__main__': result = new_add(3,5) #使用count.py文件下的add函数 print(result)
6、异常
Python 异常处理
Python常见异常类型大概分为以下类:
AssertionError:当assert断言条件为假的时候抛出的异常
AttributeError:当访问的对象属性不存在的时候抛出的异常
IndexError:超出对象索引的范围时抛出的异常
KeyError:在字典中查找一个不存在的key抛出的异常
NameError:访问一个不存在的变量时抛出的异常
OSError:操作系统产生的异常
SyntaxError:语法错误时会抛出此异常
TypeError:类型错误,通常是不通类型之间的操作会出现此异常
ZeroDivisionError:进行数学运算时除数为0时会出现此异常
捕捉异常类型
- 有针对性异常,提前知道是什么类型错误
- 自己写异常提示,返回结果
- 发现文件不存在时,应该做什么处理。如:设置元素等待,判断元素是否等待
try: print(i)except NameError as e: #NameError异常 print(e) #pass''' 输出name 'i' is not defined '''
try: open("abc.txt","r")except FileNotFoundError as e: #FileNotFoundError异常 print(e) #raise e''' 输出[Errno 2] No such file or directory: 'abc.txt' '''
- try….except…else类型
try: print(i)except NameError as e: print("有异常")else: print("没有异常")''' 结果:有异常 '''
- try-finally
语句无论是否发生异常都将执行最后的代码。
如:执行数据库,不管有没有异常,都要关闭数据库。以防影响后面的执行
try: print("333")except NameError as e: print("有异常")finally: print("不管有没有异常,都执行")''' 333不管有没有异常,都执行'''
- try-except-else-finally
try: print("333")except NameError as e: print("有异常")else: print("没有异常")finally: print("不管有没有异常,都执行")
- 使用except而不带任何异常类型
- 这种方式try-except语句捕获所有发生的异常。但这不是一个很好的方式,我们不能通过该程序识别出具体的异常信息。因为它捕获所有的异常。
try: 正常的操作 ......................except: 发生异常,执行这块代码 ......................else: 如果没有异常执行这块代码
- 使用except而带多种异常类型
也可以使用相同的except语句来处理多个异常信息
try: 正常的操作 ......................except(Exception1[, Exception2[,...ExceptionN]]]): 发生以上多个异常中的一个,执行这块代码 ......................else: 如果没有异常执行这块代码
- Python基础 2----Python 基础语法
- Python 基础2
- Python 基础笔记(2)
- Python基础入门(2)
- Python 基础2
- Python<2>异常基础
- python numpy 基础2
- Python pandas基础2
- Python基础2 容器
- python基础练习2
- python基础练习2
- python 基础2
- 2、Python语法基础
- Python基础-函数[2]
- Python爬虫基础-2
- python基础2
- python基础语法(2)
- Python基础2
- 计算机图形学小结
- 杭电ACM OJ 1002 A + B Problem II 大数问题 长整数问题
- 华氏温度与摄氏温度的转换
- html5 中简单视频音频制作---新添h5属性
- crash, Java平台的shell
- 2、python基础
- 如何在input标签选择图片上传并设置图片大小以及点击图片可以选择删除
- 单点登录那些事
- CCPC哈尔滨补题
- uglifier, 用于 UglifyJS JavaScript压缩器的ruby 包装器
- word 2016 页码从任意页开始
- ocanvas, 基于对象的画布绘制JavaScript库
- C语言:一到一百阶乘
- Eclipse中通过Tomcat运行JavaWeb项目发生内存溢出:java.lang.OutOfMemoryError: PermGen space 错误的解决方案