python函数

Python学习第十三天 time datetime random os sysshutil json pickle shelve xml configparser hashlib suprocess logging re

南笙酒味 提交于 2020-04-06 12:56:30
https://www.cnblogs.com/yuanchenqi/articles/5732581.html https://www.cnblogs.com/linhaifeng/articles/6384466.html#_label2 一 time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串(Format String) 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时 import time #--------------------------我们先以当前时间为准,让大家快速认识三种形式的时间 print(time.time()) # 时间戳:1487130156.419527 print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2017-02-15 11:40:53' print(time.localtime()) #本地时区的struct_time print(time.gmtime())

Python的隐藏功能

女生的网名这么多〃 提交于 2020-04-06 12:33:38
问题: What are the lesser-known but useful features of the Python programming language? Python编程语言鲜为人知但有用的功能是什么? Try to limit answers to Python core. 尝试将答案限于Python核心。 One feature per answer. 每个答案一个功能。 Give an example and short description of the feature, not just a link to documentation. 给出该功能的示例和简短描述,而不仅仅是指向文档的链接。 Label the feature using a title as the first line. 使用标题作为第一行标记功能。 Quick links to answers: 答案的快速链接: Argument Unpacking 参数解包 Braces 大括号 Chaining Comparison Operators 链接比较运算符 Decorators 装饰工 Default Argument Gotchas / Dangers of Mutable Default arguments 默认参数的陷阱/可变默认参数的危险 Descriptors 描述符

Python并发编程之多线程使用

瘦欲@ 提交于 2020-04-06 11:34:24
目录 一 开启线程的两种方式 二 在一个进程下开启多个线程与在一个进程下开启多个子进程的区别 三 练习 四 线程相关的其他方法 五 守护线程 六 Python GIL(Global Interpreter Lock) 七 同步锁 八 死锁现象与递归锁 九 信号量Semaphore 十 Event 十一 条件Condition(了解) 十二 定时器 十三 线程queue 十四 Python标准模块--concurrent.futures 一 开启线程的两种方式 ``` #方式一 from threading import Thread import time def sayhi(name): time.sleep(2) print('%s say hello' %name) if name == ' main ': t=Thread(target=sayhi,args=('egon',)) t.start() print('主线程') 方式二 from threading import Thread import time class Sayhi(Thread): def init (self,name): super(). init () self.name=name def run(self): time.sleep(2) print('%s say hello' % self

python(9)---七段数码管(1)

不想你离开。 提交于 2020-04-06 09:11:36
  最近新冠肺炎闹得人心惶惶,刚好在这个点有些胸闷,这个时候完美的诠释了什么叫做屋漏偏逢连夜雨,在家躺了好几天也没有更新。 现在还是继续python的学习,每天继续一点点也是好的~   现在学习了一个简单的七段数码管程序,简单的来说就是掌握函数的定义和调用,顺便有复习了一下turtle库。 程序如下: 1 #!/usr/bin/env python3 2 # -*- coding: utf-8 -*- 3 #Segement7_1.py 4 import turtle 5 6 def drawline(draw): 7 turtle.pendown() if draw else turtle.penup() 8 turtle.fd(40) 9 turtle.right(90) 10 def drawdigit(digit): 11 drawline(True) if digit in [2,3,4,5,6,8,9] else drawline(False) 12 drawline(True) if digit in [0,1,3,4,5,6,7,8,9] else drawline(False) 13 drawline(True) if digit in [0,2,3,5,6,8,9] else drawline(False) 14 drawline(True) if digit

Python数据分析-第5章Series(上)

不问归期 提交于 2020-04-06 08:04:40
系列(Series)是由一组数据(各种NumPy数据类型),以及一组与之相关的数据标签(索引)组成,系列不要求数据类型是相同的。 系列是一个一维数组,只有一个维度(或称作轴)是行(row),在访问系列时,只需要设置一个索引。pandas自动为系列创建了一个从0开始到N-1的序号,称作行的下标,行的位置。可以显式设置index参数,为每行设置标签,pandas把标签称作索引。用户可以通过索引、也可以通过位置来访问Series对象中的元素。 系列可以看作是索引到数据值的一个映射,一个索引对应一个数据值,这种结构就是有序的字典。 官网SeriesAPI 1.构造 pandas . Series ( data = None , index = None , dtype = None , name = None , copy = False ) data:传递给系列的数据,可以是ndarray、list或字典 index:设置轴的索引,索引值的个数与data参数的长度相同。如果没有设置index参数,那么默认值是 np.arange(n),或者 RangeIndex (0, 1, 2, …, n)。 dtype:设置系列元素的数据类型,如果没有设置,那么将推断数据类型 name:系列是一个多行的结构,name是系列的名称 copy:复制数据,默认值是false 1.1

python第八天

不想你离开。 提交于 2020-04-06 07:18:18
看来北方之前表现的太中二了,上一篇阅读量才只有1,唉,其实这两个礼拜特别忙,所以学习进度相比之前缓慢很多,平均一周才能学习人家一周的东西(以前只需要3天就能学人家一周的东西,谁让这个破机房没事就迁移,迁移完了还给北方出事,出事了居然还要北方亲自解决,真是B了狗了),其实第八天没作业,我是看完下一篇有了新作业才顺道把这篇补上,这篇也没什么好写的,还是类,对,就是类,类这个东西我现在根本写不出来什么高大上的东西,只能记录一下它的一些基本特征啊什么的 面向对象的三大特性: 封装:就是类内的函数,这里称之为对象~~~ 继承:类可以继承其他类的功能,当然有继承顺序( 3.5的继承顺序 ),取2个最具有代表性的 多态:在python没有什么用,大体意思就是类在传递参数的时候其他语言是需要指定该参数类型的,比如参数A必须是int,B是str,这样的好处就是其他人使用时可以很快速确定这个类的每个参数的类型,知道类型后我们就可以知道相对应方法了嘛,就可以快速的对数据进行处理操作,但是Python中是没有这个要求的。补充:继承后是可以使用父类的数据类型的 1 python: 2 def func(arg): 3 print(arg) 4 5 func(1) #不会有问题 6 func('ace') #不会有问题 7 func([1,2,3]) #不会有问题 8 9 10 c# java 11 def

CTP接口

瘦欲@ 提交于 2020-04-06 07:03:59
【前言】对上海期货交易平台CTP接口的一个学习总结.(参考vn.py官方文档) 一、引言   目前本人所在的公司一共有三款平台,分别基于C++, C#和Python。其中C#和Python平台都是由交易员开发;C++平台则是由专职IT团队作为一个通用平台开发,内部组件进行了封装(交易员不可见),对外提供行情、交易的API用于策略开发(除了C++ 外也包括C#和Python可用的API)。 用C++ 开发的交易系统:    理论上这款C++平台应该是最为稳定和强大的,由专业人士设计,同时采用封装核心,暴露API,支持组件模块开发,linux服务器运行的形式。   但是在实际运用中,交易团队表达了一个强烈的观点:这个平台实在是太难用了! 由IT团队设计的API功能非常强大,但是也太过繁琐,导致学习曲线极为陡峭。 为了追求速度,没有设计原生GUI(本来就为了在Linux服务器上跑),但是今天绝大多数的非超高频(追求微秒级延迟的那种)交易策略, 几乎都需要有人实时监控 ,你总不能让交易员盯着个linux shell上不断print出来的内容或者盘中去翻日志吧,这个运维风险就扛不起。尽管可以作为插件的形式开发GUI,但C++本身的GUI开发还是较为复杂的,非专业IT很难搞的定。 交易员团队的需求变化很快,通常等不及IT去排班开发,最好是今天收盘有个点子,明天开盘就能开始接实盘数据验证

Python IO编程-读写文件

℡╲_俬逩灬. 提交于 2020-04-06 06:03:26
1.1给出规格化得地址字符串,这些字符串是经过转义的能直接在代码里使用的字符串   需要导入os模块 import os >>>os.path.join('user','bin','spam')  #可以看做为连接,值得注意的是,不要认为只能这样来连接单个 'user\\bin\\spam'  #运行结果 >>>for fileName in os.listdir(path): totalSize=os.path.getsize(os.path.join(path,fileName))+totalSize #使用os.path.join()来连接 1.2当前工作目录 os.getcwd() 与 os.chdir(parameter)    1 >>>import os 2 >>>os.getcwd() #取得当前工作路径的字符串 3 'C:\\Python3' 4 >>>os.chdir('C:\\Windows\\System32') #改变工作路径为传入的字符#串 5 #若传入路径不存在,显示FileNotFoundError错误 6 >>>os.getcwd() 7 'C:\\Windows\\System32' 1.3绝对路径与相对路径   这个没什么好说的,就是需要注意下逻辑层次是从当前目录出发的 1.4创建新文件夹 os.makedirs(parameter)  

python 第八天

情到浓时终转凉″ 提交于 2020-04-06 05:49:02
1、paramiko模块 1.1、此函数是ssh模块: import paramikodef ssh2(ip='127.0.0.1',port=22,username='',passwd='',cmd=''): """ ssh连接服务器 :return: """ ssh = paramiko.SSHClient() #创建SSH对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在know_hosts文件中的主机 ssh.connect(ip,int(port),username,passwd) #连接服务器 stdin,stdout,stderr = ssh.exec_command(cmd) #执行命令,标准输入,输出,错误三个变量中 result = stdout.read() #获取命令的结果,输出是字节的类型 print(result.decode("utf-8")) #将字节的类型转换为utf-8 ssh.close()ssh2("192.168.1.1",22,"root","123456","df")1.2、sftpclient: import paramikotransport = paramiko.Transport(('192.168.1.1',22))transport

Python什么情况下会生成pyc文件?

这一生的挚爱 提交于 2020-04-06 03:32:45
作为Python爱好者,需要了解.py脚本的基本运行机制及特性: 在很多工作上Python的运行流程基本上取决于用户,因此源码不需要编译成二进制代码(否则无法实现大部分贴近用户的特性),而直接从源码运行程序。当我们运行python文件程序的时候,Python解释器将源码转换为字节码,然后再由解释器来执行这些字节码。 因此总的来说,它具有以下三条特性 源码距离底层更远(根据官方文档的解释。不说,你们也感觉得到。) 运行时都需要生成字节码,交由虚拟机执行。(你们问我虚拟机在哪儿?!你们也不看看各自都是用什么软件执行的!没错,就是解释器,别和我说是IDLE啊。虚拟机具体实现了由switch-case语句构成的框架函数PyEval_EvalFrameEx,刚刚说的字节码就是这货执行的。) 每次执行脚本,虚拟机总要多出加载和链接的流程。(所以呢,相比于编译型语言就有点慢了。这与“有丝分裂间期”一样,准备东西也要花时间啊!) 那么,有人要问了:“不是说,运行时总要生成字节码么!那,字节码都去哪儿了?” 咳咳,别急!容我先说说,虚拟机它是怎么执行脚本的: 完成模块的加载和链接; 将源代码翻译为PyCodeObject对象(这货就是字节码),并将其写入内存当中(方便CPU读取,起到加速程序运行的作用); 从上述内存空间中读取指令并执行; 程序结束后,根据命令行调用情况(即运行程序的方式