Python 编程小备忘
1. 获取当前日期,或者间隔当前任意天的日期。
>>> import datetime
>>> print (datetime.date.today()-datetime.timedelta(29)) # 29是 days,可以是正(前几天),负(后几天),0(当天)
2. 查询
1)查询函数具有哪些参数(inspect.getargspec() ) 尚未测试成功???
import inspect
print(inspect.getargspec(func))
2)查询对象的属性
不仅可以用dir(objectA) 来查看对象A所具有的属性;
也可以用 hasattr(objectA, attributeB)来查看对象A是否具有属性B
a=[1,2,3]
dir(a) #输出a的所有属性 hasattr(a, '__add__') #返回True, 意味a具有属性 __add__
3)查询类
__class__ 可以查询对象的类
__class__.__name__ 可以查询对象的类名
__base__ 可以查询类的父类
3. 中文编码, 二进制等
在Python程序的第一行加入
#coding=utf8
或
#-*- coding: UTF-8 -*-
二进制/十进制/十六进制
print(0b1110) # 二进制,以0b开头
print(0o10) # 八进制,以0o开头
print(0x2A) # 十六进制,以0x开头
4. 多行注释 用 ‘‘‘ ’’’ (3个单引号)
5. import 技巧
有时候在一个模块里面。除了要引用的对象,我们一般设置有测试语句,比如:
def lib_func(a):
return a + 10 def lib_func_another(b):
return b + 20 #测试语句
test = 101
print(lib_func(test))
这些测试语句,我们并不想在import时执行。这时候可以加入 if __name__ == '__main__': 把测试语句包起来:
if __name__ == '__main__':
test = 101
print(lib_func(test))
6. 搜索路径
可以用 sys.path() 来查看。可以增加或者删除搜索sys.path里面的元素。
也可以修改 ~/.bashrc 来永久保存一个搜索路径。
$export PYTHONPATH=$PYTHONPATH:/home/vamei/mylib
7. linux 下,由脚本进入命令行
python -i script.py
8. 使用pip安装非标准包
pip 是Python自带的包管理程序,它连接Python repository,并查找其中可能存在的包。
标准路径:
$pip install web.py -- 安装 $pip uninstall web.py -- 卸载 $pip install --upgrade web.py -- 升级/更新
非标准路径也可以设置安装包的路径:
$pip install --install-option="--prefix=/home/vamei/util/" web.py
使用 $which python 来确认python可执行文件的路径
Python 编程小备忘的更多相关文章
- python核心编程socket备忘
服务器端: # Echo server program from socket import * from time import ctime HOST = '' # Symbolic name me ...
- 测试不得不知的python编程小技能-----升级版基础语法和优秀的编码习惯
编程和学习python,最后快速上手.能写小工具,写自动化用例这类要求对鹅厂的测试人员来说都是一些基础的必备素质,但是一个优秀的测试,也是有着一颗开发完美测试工具的心的.但是罗马不是一天构建成,特别是 ...
- python常用库函数 - 备忘
基础库 1. 正则表达式:re 符号 ()小括号 -- 分组 []中括号 -- 字符类,匹配所包含的任一字符 #注:字符集合把[]里面的内容当作普通字符!(-\^除外) {}大括号 -- 限定匹配次数 ...
- python之正则表达式备忘
一简介:就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C ...
- java并发编程知识点备忘
最近有在回顾这方面的知识,稍微进行一些整理和归纳防止看了就忘记. 会随着进度不断更新内容,比较零散但尽量做的覆盖广一点. 如有错误烦请指正~ java线程状态图 线程活跃性问题 死锁 饥饿 活锁 饥饿 ...
- Python常用方法库备忘(一)_当前路径下文件夹和文件
#!/usr/bin/env python # -*- coding:utf-8 -*- # --------------*-------------- # @Author : AilF # @Tim ...
- Python编程小坑
在Pycharm中编辑文本文件,如果使用\r\n会产生两个空行? exit("xxx),会导致Process finished with exit code 1,所以如果要输入信息然后退出, ...
- Python 装饰器备忘
def deco(attr): ''' 装饰器,共包含三层返回结构 \n 第一层:用于接收 @deco 的参数,此处的代码只在初始化装饰器时执行一次 \n 第二层:用于接收 function,此处的代 ...
- Python编程小技巧(一)
在使用Tkinter编写代码的时候,有时候会忘记某个组件的参数是什么或者忘记某个参数怎么拼写的,此时可以通过如下方式查询组件的参数列表,以按钮组件为例: 1 # -*- coding:utf-8 -* ...
随机推荐
- 你所未知的3种 Node.js 代码优化方式
from:https://cnodejs.org/topic/56cc2fd6c045c3743304bec6 Node.js 程序的运行可能会受 CPU 或输入输出操作的限制而十分缓慢.从 CPU ...
- Nginx虚拟目录alias和root目录
nginx是通过alias设置虚拟目录,在nginx的配置中,alias目录和root目录是有区别的:1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alia ...
- SuperSlidev2.1滑动门
1.引用jQuery.js 和 jquery.SuperSlide.js 因为SuperSlide是基于jQuery的插件,所以前提必须先引用jQuery,再引用SuperSlide <head ...
- removeNode is not defined removeNode is not a function
在javascript操作dom树的时候可能会经常遇到增加,删除节点的事情,比如一个输入框后一个增加按钮,一个删除按钮,点击增加就增加 个输入框,点击删除就删除对应的输入框.在一些js框架,如Prot ...
- mac系统上使用压缩包版的mysql(非安装版)
mac本换了块固态硬盘,一切重新装过,mysql嫌官网下载太慢,直接百度 "mysql mac",第一个就是: 不料下载完后,发现这是一个压缩包版,并没有安装程序.网上搜索了一下, ...
- Vue系列:如何将百度地图包装成Vue的组件
主要分解为如下步骤: (1)在html文件中引入百度地图, <script type="text/javascript" src="http://api.map.b ...
- grunt使用入门(zz)
下面介绍grunt的基本使用方法,把前端项目中的对个js文件,合并到一起,并压缩. 注意,例子用的是grunt 0.4.5版本,低版本可能在配置上有所不同. 工具/原料 node 方法/步骤 首先用n ...
- 单例模式的两种实现方式对比:DCL (double check idiom)双重检查 和 lazy initialization holder class(静态内部类)
首先这两种方式都是延迟初始化机制,就是当要用到的时候再去初始化. 但是Effective Java书中说过:除非绝对必要,否则就不要这么做. 1. DCL (double checked lockin ...
- 工作随笔——pre-commit钩子限制日志长度和提交的文件类型
2014-09-18:解决Subversion edge 的hook中文乱码问题 近期检查SVN时发现备份好的文件体积异常庞大.才跑2个月备份出来的大小就有4G多.仔细查询发现很多很多IDE自动生成的 ...
- 【语言基础】c++ 基本数据类型与字节数组(string,char [] )之间的转化方法
有时候我们需要将基本数据类型转化为字节,以便写入文件,然后必要时还需要将这些字节读出来.有人说,为啥不把数字直接存进文件呢?比如:100,000,000,我们直接存数字明文到文件那就是9个字符(cha ...