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啊,这样直接搜一个已经安装的库就可以找到位置了

    二、内容在总结中

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

     
  • 相关阅读:
    Java学习开篇
    《我的姐姐》
    世上本无事,庸人自扰之
    这48小时
    补觉
    淡定
    es java api 设置index mapping 报错 mapping source must be pairs of fieldnames and properties definition.
    java mongodb groupby分组查询
    linux 常用命令
    mongodb too many users are authenticated
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13157787.html
Copyright © 2011-2022 走看看