总结一些基本概念

来源:互联网 发布:埙和陶笛的区别知乎 编辑:程序博客网 时间:2024/05/20 00:12

这几天睡眠不太好,虽然醒了,但是起不来。然而今天起来了,结果一上午都是有点糊,只能查查资料什么的,无法进行高强度的思考。

睡了个午觉,本以为觉得可以充满干劲,谁知,睡完之后,整个人都是软的,走路也是像企鹅一样,很没有气质,真的是要倒了的感觉。

虽然没有什么精神,不能做一些思考的活,但是也不能浪费时间,好久没有写博客,都是在草稿本上写笔记,写得很乱,大概过一段时间,我也不知道了。在这里写一遍也是一个回顾吧,再熟悉下。


对于setup.py

python setup.py build  # 编译,我也不太清楚有什么用python setup.py install  # 安装,用得最多的就是这个python setup.py bdist_wininst  # 制作windows下的分发包,同样不太清楚

其实setup.py主要执行一个setup函数,其中最主要的是 packages 参数,当 packages = find_packages() 时,表明是动态的获取 package 。当然也可能指定。
其中的 scrips 参数表示将该文件放到 Python 的 Script 目录下。


下划线

  • 单下划线
    在解释器中,比如 IPython 窗口,输入单下划线可以再一次的得到上一条的执行结果。
    可以作为一个临时性的名称,比如可以这样: for _ in range(10),当执行完这个语句后,没有任何的痕迹。
    带有单下划线的变量、属性、方法等,不能通过 import * 来导入,理论上 import * 可以导入所有的东西。指定该名称属性为私有,只供内部使用

  • 名称前的双下划线
    举个例子:有一个class A,它拥有一个方法 def __xxx(self)。
    有另外一个class B(A)——类B继承了类A的所有方法。
    但是B有自己的一个方法 def __xxx(self)。
    理论上来说,A 的 __xxx 方法会被 override,
    但是如果方法是带有双下划线,那么 A 的 __xxx 方法不会被 override。

    【这里我也不是很懂,本来在类B里面定义的函数只能是B使用,关类A什么事,不管有没有下划线,该继承的继承,该 override 的 override。也不知道到底是怎么回事,到时就靠猜吧,只有有具体的体会才能知道是什么原理。】


在python3 中,字符串默认的是unicode,因此只能string.encode。

.decode(‘a’)——将以a编码方式进行编码的字符串转换为unicode。
str.encode(‘b’)——将以unicode编码方式进行编码的字符串转换为b编码方式。

阅读全文
0 0