python基础

初始化方法&继承

​class Test:

​    def __init__(self):                     #1、初始化方法,类似java中的构造函数,应用于在调用                                                      类时,需要传的参数。如此处,将add中用到的参数                                                        a,b放在此处

        self.a=a                             #2、此处self的功能,是将私有的变成共有的,所以add函                                                    数调用的时候,就需要使用self.a

        self.b=b​

    def add(self):

        return self.a+self.b​

    def test_add(self):

        ​return self.add()​               #3、使用当前类中的add方法,要表明当前类:                                                               self.add()

print(Test(2,3).test_add())​

class Test2(Test):

    ​def sub(self):

    ​return self.a-self.b

print(Test2(8,2).test_add())       #4、继承


导入包/引包​:

修改包的名称

from time import ctime,sleep as sys_sleep       #将sys_sleep ​

print(ctime())

sys_sleep(3)

print(ctime())​

引包<第3方>原理,以selenium的webdriver来讲述:​

from selenium import webdriver    #1、引用的路径目录>文件>类>方法

dr = webdriver.Chrome()​

​思路:

selenium目录,该目录下有webdriver目录,但没有Chrome

查看:​__init__.py文件

​显示:from .chrome.webdriver import WebDriver as Chrome # noqa

查看当前文件的chrome的webdriver.py中的WebDriver类。

所以也可以写成:​

​from selenium.webdriver.chrome.webdriver import WebDriver

dr = WebDriver()​

引包<自定义>:

​python引包规则:

​1、先找当前目录下的同名目录/文件

2、​python安装目录下的文件

3、环境变量PATH​下的目录

1)被调用对象在同个目录下(count.py 和est_count.py在相同目录下):

-----------------------count.py(被调用):

def add(a=3,b=2):

    ​return a + b

# print(add())为测试代码

if __name__=='__main__':    #下面的代码,别人调用时,不会被执行

​    print(add())​

-----------------------test_count.py(调用者)​:

import count    

c=count.add(10,20)

print(c)​

2)被调用对象在下级目录中(count.py 在aaaa的目录中,aaaa与test_count.py在相同目录下):

ps:{python3引包时,会产生1个文件夹__pycache__​(与python2的区别是,不能将原文件删除);python2引包时,会产生1个文件.pyc(此文件是被调用的文件编译生成的,可以将原文件删除,也可以执行成功)}​

-----------------------test_count.py(调用者)​:

from aaaa import count

注:文件关系:

 aaaa的目录中存在count.py,new_count.py(有调用count.py)

aaaa与test_count.py在相同目录下

​test_count.py调用new_count:from aaaa import new_count.py #执行失败,因为未                                                                                         在aaaa目录下找到count

解决方式1:采用相对引用:new_count.py 中修改:from .count import add #在new_count.py 的所在目录下,找到count目录

问题1:但​解决方式1,导致new_count.py本身无法运行,提示SystemError

终极解决方式:​解决问题1:在new_count.py中采用错误异常判断:

​try:

    from .count import add

except SystemError:

    ​from count import add

​#若调用from .count import add产生错误,则使用from count import add

3)被调用对象在上级目录中?

4)软调用,即使用程序,将文件添加到PATH目录下:​

​import sys

#print(sys.path)​

sys.path.append("./aaaa")​

​#print(sys.path)​

from aaaa import new_count

异常处理​:

​try:

    ​执行命令

except 执行命令可能会出现的异常(如:NameError,FileNotFoundError) as msg:

    print(msg)​

异常类的附属关系:BaseException>Exception>其他具体类型的error。

try:

    ​执行命令

except Exception as msg:

    print("有异常")​

else:

    print("没有异常")​

#

try:

    ​执行命令

except Exception as msg:

    print("有异常")​

finally:

    print("不管有没有异常,都会被执行")​

#抛异常?不懂有什么用

from random import randint​

​number=randint(1,9)

if number % 2==0:

    raise NameError("%d is even" %number)

else:

    ​raise NameError("%d is odd" %number)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值