热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用Python常用函数说明

基本定制型C__init__(self[,arg1,])构造器(带一些可选的参数)C__new__(self[,arg1,])构造器(带一些可选的参数);
基本定制型

C.init(self[, arg1, ...]) 构造器(带一些可选的参数)

C.new(self[, arg1, ...]) 构造器(带一些可选的参数);通常用在设置不变数据类型的子类。

C.del(self) 解构器

C.str(self) 可打印的字符输出;内建str()及print 语句

C.repr(self) 运行时的字符串输出;内建repr() 和‘‘ 操作符

C.unicode(self)b Unicode 字符串输出;内建unicode()

C.call(self, *args) 表示可调用的实例

C.nonzero(self) 为object 定义False 值;内建bool() (从2.2 版开始)

C.len(self) “长度”(可用于类);内建len()

特殊方法 描述

对象(值)比较c

C.cmp(self, obj) 对象比较;内建cmp()

C.lt(self, obj) and 小于/小于或等于;对应<及<=操作符

C.gt(self, obj) and 大于/大于或等于;对应>及>=操作符

C.eq(self, obj) and 等于/不等于;对应==,!=及<>操作符

属性

C.getattr(self, attr) 获取属性;内建getattr();仅当属性没有找到时调用

C.setattr(self, attr, val) 设置属性

C.delattr(self, attr) 删除属性

C.getattribute(self, attr) 获取属性;内建getattr();总是被调用

C.get(self, attr) (描述符)获取属性

C.set(self, attr, val) (描述符)设置属性

C.delete(self, attr) (描述符)删除属性

定制类/模拟类型

数值类型:二进制操作符

C.*add(self, obj) 加;+操作符

C.*sub(self, obj) 减;-操作符

C.*mul(self, obj) 乘;*操作符

C.*p(self, obj) 除;/操作符

C.*truep(self, obj) True 除;/操作符

C.*floorp(self, obj) Floor 除;//操作符

C.*mod(self, obj) 取模/取余;%操作符

C.*pmod(self, obj) 除和取模;内建pmod()

C.*pow(self, obj[, mod]) 乘幂;内建pow();**操作符

C.*lshift(self, obj) 左移位;<<操作符

特殊方法 描述

定制类/模拟类型

数值类型:二进制操作符

C.*rshift(self, obj) 右移;>>操作符

C.*and(self, obj) 按位与;&操作符

C.*or(self, obj) 按位或;|操作符

C.*xor(self, obj) 按位与或;^操作符

数值类型:一元操作符

C.neg(self) 一元负

C.pos(self) 一元正

C.abs(self) 绝对值;内建abs()

C.invert(self) 按位求反;~操作符

数值类型:数值转换

C.complex(self, com) 转为complex(复数);内建complex()

C.int(self) 转为int;内建int()

C.long(self) 转为long;内建long()

C.float(self) 转为float;内建float()

数值类型:基本表示法(String)

C.oct(self) 八进制表示;内建oct()

C.hex(self) 十六进制表示;内建hex()

数值类型:数值压缩

C.coerce(self, num) 压缩成同样的数值类型;内建coerce()

C.index(self)g 在有必要时,压缩可选的数值类型为整型(比如:用于切片

索引等等

序列类型

C.len(self) 序列中项的数目

C.getitem(self, ind) 得到单个序列元素

C.setitem(self, ind,val) 设置单个序列元素

C.delitem(self, ind) 删除单个序列元素

特殊方法 描述

序列类型

C.getslice(self, ind1,ind2) 得到序列片断

C.setslice(self, i1, i2,val) 设置序列片断

C.delslice(self, ind1,ind2) 删除序列片断

C.contains(self, val) f 测试序列成员;内建in 关键字

C.*add(self,obj) 串连;+操作符

C.*mul(self,obj) 重复;*操作符

C.iter(self) 创建迭代类;内建iter()

映射类型

C.len(self) mapping 中的项的数目

C.hash(self) 散列(hash)函数值

C.getitem(self,key) 得到给定键(key)的值

C.setitem(self,key,val) 设置给定键(key)的值

C.delitem(self,key) 删除给定键(key)的值

C.missing(self,key) 给定键如果不存在字典中,则提供一个默认值

记几个常用的python函数,免得忘

获得文件扩展名函数:返回扩展名 和 扩名之前的文件名路径。

os.path.splitext(&#39;xinjingbao1s.jpg&#39;)

(&#39;xinjingbao1s&#39;, &#39;.jpg&#39;)

os和os.path模块

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回但前目录(&#39;.&#39;)

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false

os.path.isfile(name):判断name是不是一个文件,不存在name也返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):获得文件大小,如果name是目录返回0L

os.path.abspath(name):获得绝对路径

os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名与扩展名

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径

1.重命名:os.rename(old, new)

2.删除:os.remove(file)

3.列出目录下的文件:os.listdir(path)

4.获取当前工作目录:os.getcwd()

5.改变工作目录:os.chdir(newdir)

6.创建多级目录:os.makedirs(r"c:\python\test")

7.创建单个目录:os.mkdir("test")

8.删除多个目录:os.removedirs(r"c:\python") #删除所给路径最后一个目录下所有空目录。

9.删除单个目录:os.rmdir("test")

10.获取文件属性:os.stat(file)

11.修改文件权限与时间戳:os.chmod(file)

12.执行操作系统命令:os.system("dir")

13.启动新进程:os.exec(), os.execvp()

14.在后台执行程序:osspawnv()

15.终止当前进程:os.exit(), os._exit()

16.分离文件名:os.path.split(r"c:\python\hello.py") --> ("c:\\python", "hello.py")

17.分离扩展名:os.path.splitext(r"c:\python\hello.py") --> ("c:\\python\\hello", ".py")

18.获取路径名:os.path.dirname(r"c:\python\hello.py") --> "c:\\python"

19.获取文件名:os.path.basename(r"r:\python\hello.py") --> "hello.py"

20.判断文件是否存在:os.path.exists(r"c:\python\hello.py") --> True

21.判断是否是绝对路径:os.path.isabs(r".\python\") --> False

22.判断是否是目录:os.path.isdir(r"c:\python") --> True

23.判断是否是文件:os.path.isfile(r"c:\python\hello.py") --> True

24.判断是否是链接文件:os.path.islink(r"c:\python\hello.py") --> False

25.获取文件大小:os.path.getsize(filename)

26.*******:os.ismount("c:\\") --> True

27.搜索目录下的所有文件:os.path.walk()

[2.shutil]

1.复制单个文件:shultil.copy(oldfile, newfle)

2.复制整个目录树:shultil.copytree(r".\setup", r".\backup")

3.删除整个目录树:shultil.rmtree(r".\backup")

[3.tempfile]

1.创建一个唯一的临时文件:tempfile.mktemp() --> filename

2.打开临时文件:tempfile.TemporaryFile()

[4.StringIO] #cStringIO是StringIO模块的快速实现模块

1.创建内存文件并写入初始数据:f = StringIO.StringIO("Hello world!")

2.读入内存文件数据:print f.read() #或print f.getvalue() --> Hello world!

3.想内存文件写入数据:f.write("Good day!")

4.关闭内存文件:f.close()

查看源代码打印帮助1 from time import *

2

3 def secs2str(secs):

4 return strftime("%Y-%m-%d %H:%M:%S",localtime(secs)) 5

5

6 >>> secs2str(1227628280.0)

7 &#39;2008-11-25 23:51:20&#39;

将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出

python中时间日期格式化符号:

%y 两位数的年份表示(00-99)

%Y 四位数的年份表示(000-9999)

%m 月份(01-12)

%d 月内中的一天(0-31)

%H 24小时制小时数(0-23)

%I 12小时制小时数(01-12)

%M 分钟数(00=59)

%S 秒(00-59)

%a 本地简化星期名称

%A 本地完整星期名称

%b 本地简化的月份名称

%B 本地完整的月份名称

%c 本地相应的日期表示和时间表示

%j 年内的一天(001-366)

%p 本地A.M.或P.M.的等价符

%U 一年中的星期数(00-53)星期天为星期的开始

%w 星期(0-6),星期天为星期的开始

%W 一年中的星期数(00-53)星期一为星期的开始

%x 本地相应的日期表示

%X 本地相应的时间表示

%Z 当前时区的名称

%% %号本身

9.strptime(…)

strptime(string, format) -> struct_time

将时间字符串根据指定的格式化符转换成数组形式的时间

例如:

2009-03-20 11:45:39 对应的格式化字符串为:%Y-%m-%d %H:%M:%S

Sat Mar 28 22:24:24 2009 对应的格式化字符串为:%a %b %d %H:%M:%S %Y

10.time(…)

time() -> floating point number

返回当前时间的时间戳

三、疑点

1.夏令时

在struct_time中,夏令时好像没有用,例如

a = (2009, 6, 28, 23, 8, 34, 5, 87, 1)

b = (2009, 6, 28, 23, 8, 34, 5, 87, 0)

a和b分别表示的是夏令时和标准时间,它们之间转换为时间戳应该相关3600,但是转换后输出都为646585714.0

四、小应用

1.python获取当前时间

time.time() 获取当前时间戳

time.localtime() 当前时间的struct_time形式

time.ctime() 当前时间的字符串形式

2.python格式化字符串

格式化成2009-03-20 11:45:39形式

time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())格式化成Sat Mar 28 22:24:24 2009形式

time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())3.将格式字符串转换为时间戳

a = "Sat Mar 28 22:24:24 2009"

b = time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))

python time datetime模块详解

Time模块:

--------------------------

time() #以浮点形式返回自Linux新世纪以来经过的秒数。在linux中,00:00:00 UTC,

January 1, 1970是新**49**的开始。

>>> time.time()

1150269086.6630149

>>> time.ctime(1150269086.6630149)

>>> &#39;Wed Jun 14 15:11:26 2006&#39;

time.ctime([sec])#把秒数转换成日期格式,如果不带参数,则显示当前的时间。

>>> import time

>>> time.ctime()

>>> &#39;Wed Jun 14 15:02:50 2006&#39;

>>> time.ctime(1138068452427683)

&#39;Sat Dec 14 04:51:44 1901&#39;

>>> time.ctime(os.path.getmtime(&#39;E:\\untitleds.bmp&#39;))

&#39;Fri Sep 19 16:35:37 2008&#39;

>>> time.gmtime(os.path.getmtime(&#39;E:\\untitleds.bmp&#39;))

time.struct_time(tm_year=2008, tm_mon=9, tm_mday=19, tm_hour=8, tm_min=35,

tm_sec=37, tm_wday=4, tm_yday=263, tm_isdst=0)

将一个文件的修改时间转换为日期格式(秒 转 日期)

>>> time.strftime(&#39;%Y-%m-%d %X&#39;,time.localtime(os.path.getmtime(&#39;E:\\untitleds.bmp&#39;)))

&#39;2008-09-19 16:35:37&#39;

#定时3秒。

>>> time.sleep(3)

TIME模块参考:

---------------------------------

#取一个文件的修改时间

>>> os.path.getmtime(&#39;E:\\untitleds.bmp&#39;)

1221813337.7626641

变量

timezone 通用协调时间和本地标准时间的差值,以秒为单位。

altzone 通用协调时间和本地夏令时的差值

daylight 标志,本地时间是否反映夏令时。

tzname (标准时区名,夏令时时区名)

函数

time() 以浮点数返回纪元至今以来的秒数。

clock() 以浮点数返回CPU开始这个process的时间,(或者至上次调用这个函数的时间)

sleep() 延迟一段以浮点数表示的秒数。

gmtime() 把以秒表示的时间转换为通用协调时序列

localtime() 把秒时转换为本地时序列

asctime() 将时间序列转换成文本描述

ctime() 将秒时转换成文本描述

mktime() 将本地时序列转换成秒时

strftime() 以指定格式将序列时转为文本描述

strptime() 以指定格式从文本描述中解析出时间序列

tzset() 改变当地时区值

DateTime模块

----------------------------

datetime 将日期转化为秒

-------------------------------------

>>> import datetime,time

>>> time.mktime(datetime.datetime(2009,1,1).timetuple())

1230739200.0

>>> cc=[2000,11,3,12,43,33] #Attributes: year, month, day, hour, minute,

second

>>> time.mktime(datetime.datetime(cc[0],cc[1],cc[2],cc[3],cc[4],cc[5]).timetuple())

973226613.0

将秒转换为日期格式

>>> cc = time.localtime(os.path.getmtime(&#39;E:\\untitleds.bmp&#39;))

>>> print cc[0:3]

(2008, 9, 19)

DateTime示例

-----------------

演示计算两个日期相差天数的计算

>>> import datetime

>>> d1 = datetime.datetime(2005, 2, 16)

>>> d2 = datetime.datetime(2004, 12, 31)

>>> (d1 - d2).days

47

演示计算运行时间的例子,以秒进行显示

import datetime

starttime = datetime.datetime.now()

#long running

endtime = datetime.datetime.now()

print (endtime - starttime).seconds

演示计算当前时间向后10小时的时间。

>>> d1 = datetime.datetime.now()

>>> d3 = d1 + datetime.timedelta(hours=10)

>>> d3.ctime()

其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值

以上就是使用Python常用函数说明的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Python如何调用类里面的方法
    本文介绍了在Python中调用同一个类中的方法需要加上self参数,并且规范写法要求每个函数的第一个参数都为self。同时还介绍了如何调用另一个类中的方法。详细内容请阅读剩余部分。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文介绍了Python版Protobuf的安装和使用方法,包括版本选择、编译配置、示例代码等内容。通过学习本教程,您将了解如何在Python中使用Protobuf进行数据序列化和反序列化操作,以及相关的注意事项和技巧。 ... [详细]
author-avatar
空城旧梦-虎哥_919
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有