zoukankan      html  css  js  c++  java
  • python基础语法

    合法的python标识符:

      python标识符字符串规则和其他大部分用c编写的高级语言类似:

        第一个字符必须是字母或是下划线;

        剩下的字符可以是字母和数字或下划线;

        大小写敏感:

      _xxx  不用“from  module  import  * ”导入;

      _xxx_  系统定义名字;  

      _xxx   类中的私有变量名 ;

    文档
    Python 还提供了一个机制,可以通过__doc__特别变量,动态获得文档字串。在模块,类
    声明,或函数声明中第一个没有赋值的字符串可以用属性 obj.__doc__来进行访问,其中 obj
    是一个模块,类,或函数的名字。这在运行时刻也可以运行。

    核心笔记:__name__ 指示模块应如何被加载
    由于主程序代码无论模块是被导入还是被直接执行都会运行, 我们必须知道模块如何决定
    运行方向。一个应用程序可能需要导入另一个应用程序的一个模块,以便重用一些有用的代码
    (否则就只能用拷贝粘贴那种非面向对象的愚蠢手段)。这种情况下,你只想访问那些位于其
    它应用程序中的代码,而不是想运行那个应用程序。因此一个问题出现了,“Python 是否有
    一种方法能在运行时检测该模块是被导入还是被直接执行呢?” 答案就是......(鼓声雷
    动).....没错! __name__ 系统变量就是正确答案。
    如果模块是被导入, __name__ 的值为模块名字
    如果模块是被直接执行, __name__ 的值为 '__main__'
      

      内存管理:

     变量无必须事先声明;

     变量无须指定类型;

     程序员不用关心内存管理;

     变量名会被“回收”

     del语句能够直接释放资源;

    其他大多数语言一样,变量只有被创建和赋值后才能被使用。
      变量一旦被赋值,您就可以通过变量名来访问它。

    动态类型
    还要注意一点,Python 中不但变量名无需事先声明,而且也无需类型声明。
    Python 语言中,对象的类型和内存占用都是运行时确定的。尽管代码被编译成字节码,Python 仍然是一种解释
    型语言。在创建--也就是赋值时,解释器会根据语法和右侧的操作数来决定新对象的类型。
    在对象创建后,一个该对象的应用会被赋值给左侧的变量。

    python内存分配:
      要保持追踪内存中的对象, Python 使用了引用计数这一简单技术。也就是说 Python 内部记录着所有使用中的对象各有多少引用。你可以将它想像成扑克牌游戏“黑杰克”或“21 点”。
    一个内部跟踪变量,称为一个引用计数器。至于每个对象各有多少个引用, 简称引用计数。当对象被创建时, 就创建了一个引用计数, 当这个对象不再需要时, 也就是说, 这个对象的
    引用计数变为 0 时, 它被垃圾回收。(严格来说这不是 100%正确,不过现阶段你可以就这么认为)


     

  • 相关阅读:
    【并查集】hdu 1198 Farm Irrigation
    【并查集】hdu 1325 Is It A Tree?
    【并查集】hdu 1272 小希的迷宫
    【并查集】hdu 1856 More is better
    【并查集】hdu 3635 Dragon Balls
    【并查集】poj 1988 Cube Stacking
    【并查集】poj 2492 A Bug's Life(二集合问题)
    【并查集】poj 2236 Wireless Network
    【并查集】poj 1703 Find them, Catch them(二集合问题)
    【并查集】poj 1611 The Suspects
  • 原文地址:https://www.cnblogs.com/chris-cp/p/3630481.html
Copyright © 2011-2022 走看看