Python 笔记

  1. 查看pillow版本
    https://github.com/python-pillow/Pillow
    python -c ‘import PIL; print (PIL.version)’
    Image.open() cannot identify image file - Python?
    https://stackoverflow.com/questions/19230991/image-open-cannot-identify-image-file-python
    Tip:项目的版本,API更改,使用错误也要注意一下

  2. local variable ‘x’ referenced before assignment
    x 未定义或者是非全局变量
    https://eli.thegreenplace.net/2011/05/15/understanding-unboundlocalerror-in-python/

  3. min(*c)
    当 c 中只有一个元素的时候:
    object is not iterable

获取 sys.maxint int 最大值
-sys.maxsize - 1
Python 3.0 doesn’t have sys.maxint any more since Python 3’s ints are of arbitrary length. Instead of sys.maxint it has sys.maxsize; the maximum size of a positive sized size_t aka Py_ssize_t.

获取 float(‘inf’) 无穷大,float(‘-inf’) 表示负无穷

for i in range(1, 1) :
不执行

  1. 清华镜像
    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple

  2. PYTHON写入TXT文件时的覆盖和追加
    在使用Python进行txt文件的读写时,当打开文件后,首先用 read()对文件的内容读取,然后再用 write()写入,这时发现虽然是用 “r+” 模式打开,按道理是应该覆盖的,但是却出现了追加的情况。
    这是因为在使用 read 后,文档的指针已经指向了文本最后,而 write 写入的时候是以指针为起始,因此就产生了追加的效果。
    如果想要覆盖,需要先 seek(0),然后使用 truncate() 清除后,即可实现重新覆盖写入
    ```python
    from future import print_function
    import requests
    import json

host_window = r”D:\a.txt”
system = “Windows”

def write_host(hostvalue):
if system == “Windows”:
output = open(host_window, ‘r+’)
data = output.read()
output.seek(0)
output.truncate()
data = data.split(“\n”)
for i in range(len(data) - 1):
output.write(data[i])
output.write(“\n”)
output.close()


6. 闭包
写一个函数,接收整数参数n,返回一个函数,函数的功能是把函数的参数和n相乘并把结果返回。
```python
def mulby(num):
    def gn(val):
        return num * val

    return gn

zw = mulby(7)
print(zw(9));
  1. 包管理
    一个包里有三个模块,mod1.py, mod2.py, mod3.py,但使用from demopack import * 导入模块时,如何保证只有 mod1、mod3 被导入了。
    答案:增加 init.py 文件,并在文件中增加 :

    __all__ = ['mod1','mod3']
    
  2. Python运行不显示DOS窗口方法
    方法1:pythonw xxx.py
    方法2:将.py改成.pyw (这个其实就是使用脚本解析程序pythonw.exe)

跟 python.exe 比较起来,pythonw.exe 有以下的不同:
1)执行时不会弹出控制台窗口(也叫 DOS 窗口)
2)所有向原有的 stdout 和 stderr 的输出都无效
3)所有从原有的 stdin 的读取都只会得到 EOF

注:唯独视窗版 Python 有 .pyw 格式。

  1. 交换两个变量的值

    # 一行解决战斗
    (a,b) = (b,a)
    
  2. 默认方法
    python 参数的传递图

  3. seed() 用于指定随机数生成时所用算法开始的整数值。
    1.如果使用相同的 seed() 值,则每次生成的随即数都相同;
    2.如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。
    3.设置的 seed() 值仅一次有效。

参考链接:
Python Central


请多多指教。

文章标题:Python 笔记

本文作者:顺强

发布时间:2015-02-16, 01:20:12

原始链接:http://shunqiang.ml/python-python-note/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏