zoukankan      html  css  js  c++  java
  • python语法相关---4、

    python语法相关---4、

    一、总结

    一句话总结:

    人生如负重致远不可急躁

    1、为什么要使用静态方法呢?

    静态方法和类以及实例对象没有交互,提高效率
    由于静态方法主要来存放逻辑性的代码,本身和类以及实例对象没有交互,
    也就是说,在静态方法中,不会涉及到类中方法和属性的操作
    数据资源能够得到有效的充分利用

    2、python中的封装(私有化,私有属性和私有方法)?

    在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法
    在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法
    
    私有化的【实例】属性不能再外部直接的访问可以在类的内部随意的使用
    子类不能继承父类的私有化属性【只能继承父类公共的属性和行为】
    
    class Women:
        def __init__(self, name):
            self.name = name
            # 不要问女生的年龄
            self.__age = 18
    
        def __secret(self):
            print("我的年龄是 %d" % self.__age)
     
    xiaofang = Women("小芳")
    # 私有属性,外部不能直接访问
    # print(xiaofang.__age)
     
    # 私有方法,外部不能直接调用
    # xiaofang.__secret()

    3、get函数和set函数解决外部访问私有属性问题?

    将self传进来,拿到私有变量
    get函数和set函数为自定义函数,为了和封装概念吻合,命名为getXXX和setXXX
    get函数:获取值
    set函数:设置值【赋值,传值】
    说明:本质都是一个普通成员函数,get函数一般有返回值,set设置参数
    
    
    class Women:
        def __init__(self, name):
            self.name = name
            # 不要问女人的年龄
            self.__age = 18
    
        def setAge(self):
            self.__age = 18
    
        def getAge(self):
            return self.__age
    
        def __secret(self):
            print("我的年龄是%d" % self.__age)
    
    a = Women('Alice')
    print(a.getAge())   >> 18

    4、python的property属性?

    @property装饰器就是负责把一个方法变成属性调用的。@property定义get方法,@score.setter定义score属性的set方法
    class Money(object):
        def __init__(self):
            self.__money = 0
    
        # 使用装饰器对money进行装饰,那么会自动添加一个叫money的属性,当调用获取money的值时,调用装饰的方法
        @property
        def money(self):
            return self.__money
    
        # 使用装饰器对money进行装饰,当对money设置值时,调用装饰的方法
        @money.setter
        def money(self, value):
            if isinstance(value, int):
                self.__money = value
            else:
                print("error:不是整型数字")
    
    a = Money()
    a.money = 100
    print(a.money)

    5、python异常处理格式?

    try...except...else...finally
    try:
    可能出现错误的代码块
    except:
    出错之后执行的代码块
    else:
    没有出错的代码块
    finally:
    不管有没有出错都执行的代码块

    6、python异常处理注意?

    A、将可能出错的代码放到try里面,except可以指定类型捕获异常。except里面的代码是捕获到异常时执行,将错误捕获。
    B、这样程序就不会因为一段代码包异常而导致整个程序崩溃。
    C、不需要在每个可能出错的地方去捕获,只要在合适的层次去捕获错误就可以了这样的话就大大减少我们写try---except的麻烦
    import time
    try:
        # 如果你觉得代码可能出现问题, 那么放在try语句中, 只执行一次;
        print(s)    #可能NameError
    except NameError as e:    # 对于异常进行一个重命名;记录了异常的详细信息;
        # 可能执行一次, 也可能不执行;
        print('名称错误')
        with open('except.log','w') as f: #把异常内容写入except.log文件
            f.write('名称错误')
    finally:
    # 无论是否出现异常, 肯定会执行一次
        print('处理结束')

    7、python动态的添加属性和方法?

    就是创建对象实例后,动态的添加属性和方法,就像js的操作

    8、python中的__slots__?

    如果要限制在运行的时候给类添加属性,Python允许在定义class的时候,定义一个特殊的_slots__变量,来限制该class实例能添加的属性。
    class Player2(object):
        __slots__ = ['uid', 'name', 'stat', 'level', 'sex']
    
        def __init__(self, uid, name, stat=0, level=1):
            self.uid = uid
            self.name = name
            self.stat = stat
            self.level = level

    9、python安装插件?

    安装库:pip3 install pygame
    查看已安装的第三方库:pip list 或 pip3 list
    pygame安装
    安装命令:pip install pygamer
    提示:如果有多个版本,同时装有python2.7和python3.6时可以使用pip3 install pygame
    查看已安装的第三方库:pip list 或 pip3 list

    10、如果pycharm中安装python库出错咋办?

    如果pycharm中不能直接安装库,可以在系统中安装好之后然后把它移动到pycharm对应的项目中去
    在安装pygame模块的时候尤其要注意一下:
    如果在pychram中安装不成功
    
    此时我们就可以换种思路:
    1:确保在系统层面的python环境里面已经安装了pygame[pip insta1l pygame]一般都可以安装成功
    2:我们就可以把已经安装好的pygame模块的文件夹拷贝到pycharm所创建项目中的venv虚拟环境里面
    【E:Coding_FolderpythonfirstAgainvenvScripts】

    11、怎么找python在系统中安装库的路径?

    用everything啊,这样直接搜一个已经安装的库就可以找到位置了

    二、内容在总结中

    博客对应课程的视频位置:

     
  • 相关阅读:
    使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)
    SailingEase WinForm 应用程序开发框架
    SailingEase WinForm 框架 DEMO 下载
    SailingEase WinForm 开发框架
    .net动态编译
    VS2010 如何修改程序菜单字体大小?
    Android C++回收机制(转)
    遥测的死区
    发现个开源很好的C++框架库,共享一下
    mongodb查询例子
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13157787.html
Copyright © 2011-2022 走看看