zoukankan      html  css  js  c++  java
  • python笔记

    ctrl + / 注释

    python中的整数的大小没有限制,可以是一个无限大的整数

    对浮点数进行运算时,可能会得到一个不精确的结果

    input() 返回为字符串

    如果形参执行的是一个对象,当我们通过形参去修改对象时,会影响到所有指向该对象的变量

    要想不让形参改变指向该对象的变量,需传入变量的副本或切片

    定义函数时,可以在形参前边加一个*,这样这个形参将会获取到所有的实参

    *a会接受所有的位置参数,并且将这些实参统一保存到一个元组中(装包)

    a可以接受关键字参数,只能有一个,并且必须写在所有参数的最后对参数解包,用

    方法和函数的区别:

    如果是函数调用,则调用时传几个参数,就会有几个实参

    但是如果对方法调用,默认传递一个参数,所以方法中至少定义一个形参

    类对象和实例对象都可以保存属性和方法

       如果这个属性是所有的实例共享时,则应该将其保存到类对象中

       如果这个属性是某个实例独有,则应该保存到实例对象中

       一般情况下,属性保存在实例对象中,方法保存在类对象中

    方法中不能直接访问类中的属性

    方法的第一个参数,就是调用方法的对象本身

       如果是p1调的,则第一个参数就是p1对象

       如果是p2调的,则第一个参数就是p2对象

    特殊方法:以双下划线开头,双下划线结尾,不要尝试调用特殊方法

    init会在对象创建以后立即执行

    init可以用来向新创建的对象中初始化属性

    创建对象的流程:

       1.创建一个变量

       2.在内存中创建一个新对象

       3.init(self)方法执行

       4.将对象的id赋值给变量

      可以为对象的属性使用双下划线开头,xx 双下划线开头的属性,是对象的隐藏属性,隐藏属性只能在类的内部访问,无法通过对象访问 但是可以通过_类名xx进行访问

      一般情况下,使用下划线开头的属性都是私有属性,没有特殊要求,不建议修改

    装饰器:

    使用property装饰的方法,必须和属性名是一样的

     @属性.setter/getter 提供读和写的权限

    若子类只能实现父类的大部分功能,但是不能实现全部功能,则用继承

    python支持多重继承,即一个类可以继承多个父类,不建议使用多重继承

    实例方法:

       在类中定义,以self为第一个参数的方法都是实例方法

       实例方法在调用时,python会将调用对象作为self传入

       当通过实例调用时,会自动将当前调用对象作为self传入

       当通过类调用时,不会自动传递self

    类方法:

      在类内部使用@classmethod来修饰的方法属于

      类方法 类方法第一个参数是cls,也会被自动传递,cls就是当前的类对象

       类方法和实例方法的区别:类方法的第一个参数是self,而类方法的第一个参数是cls

    静态方法:

       在类中使用@staticmethod来修饰的方法属于静态方法

       静态方法不需要指定任何默认参数,静态方法可以通过类和实例调用

       静态方法,基本放是一个和当前类无关的方法,他只是一个保存到当前类中的函数 一般都是一些工具方法,和当前类无关

    在程序中,没有被引用的对象都是垃圾

    python有垃圾回收机制,不需要手动执行

    特殊方法:

       str (print函数打印)

       repe(交互模式自动打印)

    python中一个py文件就是一个模块

    namemain的模块,为主模块

    添加了的变量,只能在模块内部访问,在通过import *引入时,不会引入开头的变量 py执行代码前,需要被解释器先转换为机器码,然后再执行

       所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行

       而为了提高程序运行的性能,python会在编译过一次之后,将代码保存到一个缓存文件中 这样在下次加载这个模块时,就可以不再重新编译而是直接加载缓存中编译好的代码即可

    异常的传播:

       如果函数中没有对异常进行处理,则异常会继续向函数调用处传播

       如果函数调用处处理了异常,则不再传播,如果没有处理则继续向调用处传播

       知道传递到全局作用域(主模块)如果依然没有处理,则程序终止,并且显示异常信息

    Exception是所有异常的父类,所以如果exception后跟的是Exception,他也会捕获所有的异常

    try是必须的,else语句有没有都行

    except和finally至少有一个

    目标文件和当前文件在同一级目录下,则直接使用文件名即可

    在windows系统使用路径时,可以使用/来代替

    或者使用来代替

    或者也可以使用原始字符串 r' 文件' 表示目录时,可以使用..来返回一级目录

    绝对路径应该从磁盘的根目录开始书写

    open()打开文件时,默认是以文本文件的形式打开的,但是open()默认的编码为None

    所以处理文本文件时,必须要指定文件的编码

    通过read()读取文件中的内容

       如果直接调用read()他会将文本文件的所有内容全部读取出来

       如果读取的文件较大的话,会一次性将文件的内容加载到内存中,容易导致内存泄漏

    'w' 写

    'a' 追加

    'r+'既可读又可写

    'w+'

    'a+'

    x创建文件

    t读取文本文件

    b读取二进制文件

     

     就先酱吧~

  • 相关阅读:
    C++程序的编写和实现
    C++程序的构成和书写形式
    C++的类和对象
    MySQL存储过程
    SQL Server语句创建数据库和表——并设置主外键关系
    SQL Server返回插入数据的ID和受影响的行数
    MySQL变量的使用
    MySQL个人学习笔记
    SQL Server 数据分页查询
    SQL Server去重和判断是否为数字——OBJECT_ID的使用
  • 原文地址:https://www.cnblogs.com/dreamzj/p/14332670.html
Copyright © 2011-2022 走看看