
python 基础
python_tty
努力成为python大牛
展开
-
python编程注意点(一)
函数参数原创 2022-07-04 17:41:49 · 252 阅读 · 0 评论 -
hashlib
hashlib常用的加密方法: sha1() , sha224(), sha256(), sha384(), sha512(), md5() >>>import hashlib >>>s = 'we are happy' #明文 >>>ha = hashlib.sha1(s) #SHA1算法加密明文 >>>ha.digest() #获取加密后的字符翻译 2016-03-20 17:30:52 · 665 阅读 · 0 评论 -
python print
print在python2中是一个语句。 print定向输出,把内容输出到文件中 (1) >>> f = open('a.txt', 'w+') >>> print >>> f, '345678'(2) >>>import sys >>>sys.stdout = open('a.txt', 'w+') >>>print '345678'在python2中使用print() >>>fr原创 2016-03-02 18:07:32 · 700 阅读 · 0 评论 -
python开发常见错误
1.print print在python2.7中仅是一个statement,在3.0中才作为一个函数使用 导入print_function既可以解决问题了原创 2015-11-07 19:27:11 · 15359 阅读 · 0 评论 -
python内置函数 sorted
sorted(iterable, cmp=None, key=None, reverse=False) 在python3.0中cmp参数被删除了 1.sorted()内置函数返回一个新的序列,它可以对任何iterable对象排序 list.sort() 没有返回值,它对原来的序列进行排序,这个函数只是用list 2.key参数 key参数是一个函数,这个函数作用原创 2015-11-15 18:57:36 · 1295 阅读 · 0 评论 -
__init__.py 包文件
如果选择使用包导入,就必须遵循一条约束:包导入的路径中的每一个目录中一定要包含__init__.py文件,否则导入包会失败。 __init__.py可以包含python代码,就像普通的模块文件。这类文件从某种程度上讲就像是python的一种声明,它完全可以是空的。 python首次导入某个目录时,会自动执行__init__.py中的所有程序代码。因此这类文件自然就原创 2015-12-31 16:26:07 · 725 阅读 · 0 评论 -
reload用法
与from和import相比,reload是内置函数,而不是语句;传给reload的是已经存在的模块对象,而不是变量名。因为reload期望得到的是对象,在重载之前,一定要预先导入模块。 >>> reload(sys) NameError: name 'sys' is not defined >>>import sys >>>reload(sys) 在python3.0中,reloa原创 2015-12-31 15:03:20 · 18099 阅读 · 0 评论 -
python 多线程编程
使用threading模块的Thread类来创建线程,介绍常用的三种方法: 1.创建一个Thread类的实例,传入一个函数 #coding=utf-8 import threading, time loops=[4,2] def func(index, sec): print "func starts:%d"%(index)+" %s\n"%(time.ctime())原创 2015-11-29 17:22:07 · 488 阅读 · 0 评论 -
python 异常处理
如果我们的代码中没有刻意捕获异常,异常会一直向上返回到顶层程序,并启用默认的异常处理器:打印标准的出错消息。 异常的四个语句处理: try/except 捕获异常,处理异常,并从异常中恢复,继续运行以后的程序 raise 手动引发异常.如果没有捕捉异常,用户定义的异常会向上传递,知道定测默认的异常处理器原创 2015-11-27 17:03:32 · 484 阅读 · 0 评论 -
StingIO
StringIO read and write a string buffer(also known as memory files) StringIO() 生成一个StringIO 对象,你可以给它传一个string来初始化它,也可以不传 getvalue() 获取StringIO中的内容 close() 关闭StringIO,释放内存翻译 2016-03-20 17:56:13 · 409 阅读 · 0 评论 -
dataTable实现服务器端分页(python)
dataTable有两种分页方式: 一种是页面分页(把数据一次性加载到页面,然后再分页),另一种是服务器端分页. 由于后台数据较多,采用页面分页耗时太长,页面分页还有一个弊端,就是除了第一页,后面的页面中的button都不能用,点击这些button没响应,要重新加载一下页面,button才可以使用,种种弊端,懒得找原因了,就把页面分页换成服务器端分页。 html原创 2016-07-13 14:09:37 · 6713 阅读 · 0 评论 -
python 时间日期函数
常用的日期处理 import datetime class DateTimeHelper(object): format_d = ['%Y', '%m', '%d'] format_t = ['%H', '%M', '%S'] @classmethod def gen_str_format(cls, is_second=False, d_split="-",...原创 2019-08-26 13:45:52 · 426 阅读 · 0 评论 -
python在 linux上调用.so文件
前几天写一个项目要用Python调用C++的.so文件,上网搜了一下,使用Python的ctypes模块 python官方文档:https://docs.python.org/2/library/ctypes.html?highlight=ctypes#module-ctypes 代码: from ctypes import * test = cdll.LodayLibrary("原创 2015-03-20 18:33:40 · 23012 阅读 · 2 评论 -
python实现排列组合公式C(m,n)求值
# -*- coding:utf-8 -*- # 用python实现排列组合C(n,m) = n!/m!*(n-m)! def get_value(n): if n==1: return n else: return n * get_value(n-1) def gen_last_value(n,m): first = g原创 2016-11-10 14:22:01 · 36224 阅读 · 2 评论 -
Notepad++配置Python开发环境
1. 安装Python 1 下载 我选择了32位的2.7版本。https://www.python.org/ftp/python/2.7.8/python-2.7.8.msi 2. 安装 安装的时候可以修改安装路径到D盘,然后注意一点是可以将最后一项“配置环境变量”勾选上(默认是不选择的),这样就不用手动配置环境变量了。 2. 配置Notepad++ 可以参考文转载 2016-09-29 18:03:34 · 603 阅读 · 0 评论 -
python 脚本转成exe可执行程序
本文所使用的工具是cx_Freeze,相对py2exe和PyInstaller来说,cx_Freeze的兼容性更好,支持最新的Python 3.X,支持PyQT,并且可以跨平台支持Windows和Linux系统。 cx_Freeze的官方主页为http://cx-freeze.sourceforge.net, Install by issuing the command pip in转载 2016-09-21 15:26:28 · 1646 阅读 · 0 评论 -
python 生成ssh秘钥对
工作中要用到ssh-keygen生成的公钥和私钥,查了很多网站,大部分人用的是Crypto.PublicKey包中的RSA类来模拟ssh-keygen生成秘钥对。偶然间发现paramiko也有一个可以用来生成秘钥对的类(paramiko.rsakey.RSAKey),最后选择用paramiko的RSAKey来生成秘钥对。关于paramiko生成不同加密方式的秘钥对的详细信息,请到官网上看http:原创 2016-07-25 15:53:38 · 6565 阅读 · 0 评论 -
python 异常处理(二)
1.try/except/else try: except : except (name1,name2): #捕获所列出的任何异常 except as name3: ... except:原创 2015-11-27 20:43:52 · 518 阅读 · 0 评论 -
python 安装mysqldb第三方库
刚开始随便在网上(http://sourceforge.net/projects/mysql-python/)下载了一个版本mysql-python-1.2.4b4.win32-py2.7。安装之后,在命令行导入import MySQLdb ,报错: importError: DLL load faild: %1 不是有效的win32 程序。查了之后发现原来是版本不对应。Windows是64位原创 2015-11-19 18:59:46 · 813 阅读 · 0 评论 -
python argparse
argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。 与optparse相比较 argparse的API类似于optparse,甚至在很多情况下通过更新所使用的类名和方法名,使用argparse作为一个简单的替代。然而,有些地方在添加新特转载 2015-08-05 19:11:06 · 679 阅读 · 0 评论 -
python数据类型总结
python中的数据类型常用的有数字,字符串,列表,字典,元组,集合;其中数字,字符串,元组是不可变类型,即不能通过索引来改变元素的值。以下是一些注意点: 1.字典的键(key) 字典的键可以是任意不可变类型,故字典的键不能是列表。字典中的键是唯一的,值可以重复。字典是一个无序的序列,不能通过索引来取值。字典通过键来索引值。 dict.keys()返回字典中所有key的一个随原创 2015-05-19 15:58:25 · 582 阅读 · 0 评论 -
Python ftplib模块
ftplib模块常用函数: 1.ftplib.rmd(string) 删除文件夹 2.ftplib.mkd(string) 创建文件夹 3.ftplib.delete(string) 删除文件 4.ftplib.FTP() 创建一个ftp实例 5.ftplib.login(uesr, passwd) 用户 登陆 6.ftplib.conne翻译 2015-04-03 17:16:46 · 976 阅读 · 0 评论 -
python 批处理doc命令
运行doc命令,os.system() 和 subprocess.Popen()这两个函数都可以,但他们会产生不同的进程,如果多个命令之间相互依赖,一个一个的运行doc命令的这种方法就不可行。处理多个doc命令的时候,用&连接不同的doc命令,可以实现python批处理 cmd = "d: & cd sourcecode\XtTradeClient\\tags\\2015_deploy_原创 2015-04-03 10:50:22 · 758 阅读 · 0 评论 -
urllib2问题集锦
1.urllib2.URLError: 找了一下原因,很傻的问题,url的值不对 2.源码 import urllib2 file2 = urllib2.urlopen("http://write.blog.youkuaiyun.com/postedit?ref=toolbar") content = file2.read() print content Traceb原创 2015-03-20 20:58:08 · 773 阅读 · 0 评论 -
Python类中的私有变量
Python类中的私有变量 Python 用下划线作为变量前缀和后缀指定特殊变量。 _xxx 不能用'from module import *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始。 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线转载 2015-03-30 17:36:22 · 779 阅读 · 0 评论 -
python Http协议
WEB服务器和浏览器之间的一问一答的交互过程也得遵循一定的规则,这个规则就是HTTP协议。它是TCP/IP协议集中的一个应用层协议,用于定义浏览器和WEB服务器之间交换数据过程以及数据本身的格式。现在被广泛使用的HTTP/1.1相对HTTP/1.0而言,最大的特点就是支持持续连接。 1.HTTP/1.0的会话方式 建立连接,发送请求信息转载 2015-03-30 15:13:35 · 938 阅读 · 0 评论 -
Python代码风格和PEP8
转载自http://www.blogjava.net/lincode/archive/2011/02/02/343859.html Python 的代码风格由 PEP 8 描述。这个文档描述了 Python 编程风格的方方面面。在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格。这样就易于阅读,易于在程序员之间交流。 1 变量 常量 : 大翻译 2015-03-28 08:29:02 · 597 阅读 · 0 评论 -
Python核心编程阅读笔记(一)
Python语言有高级,面向对象,可扩展,可移植,易学等特点,下面主要说明两个特点 1.内存管理器 Python的内存是有解释器负责的,开发人员可以从内存事务中解放出来,专注于自己开发的项目,这会使错误更少,程序更健壮,开发周期更短 2.解释性和(字节)编译性 Python是一种解释型语言,这意味着开发过程中没有了编译这个环节,一般来说,由于不是以本地机器码运行原创 2015-03-28 08:47:18 · 683 阅读 · 0 评论 -
什么是动态语言
静态类型定义语言 一种在编译时,数据类型是固定的语言。大多数静态类型定义语言强制这一 点,它要求你在使用所有变量之前要声明它们的数据类型。Java和C是静态类型定 义语言。 动态类型定义语言 一种在执行期间才去发现数据类型的语言,与静态类型定义相反。VBScript 和Python是动态类型定义的,因为它们是在第一次给一个变量赋值的时候找出它的 类型的转载 2015-03-28 08:22:07 · 538 阅读 · 0 评论 -
python 模块学习
1.在import中省略目录路径和文件字尾 import mod 而不是 import mod.py 2.每一个以扩展名py结尾的python源代码文件都是一个模块。其他的文件可以通过导入一个模块来访问模块中的内容。导入从本质上讲,就是载入另一个文件,并能够读取那个文件的内容。一个模块的内容通过这样的属性被外部世界使用 3.python文件往往有多个模块文件构成,通过impo原创 2015-11-10 17:27:36 · 2582 阅读 · 0 评论 -
python Class
1.属性赋值运算只影响属性赋值所在的对象 >>> class rec: pass >>> rec.name = 'Bob' >>> rec.age = 24 >>> x = rec() >>> y = rec() >>> x.name, y.name >>> ('Bob', 'Bob') 对类对象添加属性之后,所有的实例对象都会继承这些属性 >>> x.name = 'Sum' >>>原创 2015-11-22 18:39:46 · 470 阅读 · 0 评论 -
python 开发中易混淆点
1.for 循环 #coding = utf-8 count = 0 for i in range(8): count += 1 i = i+ 2 print count >>> 8 count的值为8说明循环了8次,循环的次数并不因为我们在循环中改变i的值改变,即在循环中改变i的值没有意义 2."" -------->表示空字符串 " "原创 2015-11-23 13:34:41 · 483 阅读 · 0 评论 -
匿名函数: lambda
lambda表达式生成了一个函数,最后返回这个函数,不像def语句最后把函数对象赋值给了变量名,这也是lambda函数成为匿名函数的原因(没有变量名) lambda表达式: lambda argument1,... : expression 注意: lambda 是以个表达式,而不是一个语句 lambda 的主体是一个单个表达式,而不是一个代码块,lambda主体中原创 2015-11-16 13:25:25 · 683 阅读 · 0 评论 -
python学习
1.如果两个字符串常量相邻的出现,它们会合并,就好像在它们之间已经放置了一个 + 2.在python中: 任何非零和非空的对象都为真 3.python中有三种布尔表达式运算符:and or not。 python中的布尔运算符是字不是c中的&& || !. 在python中,布尔会运算符and 和 or会返回真或假对象,不是运算符左侧的对象就是运算符右侧的对象,而不是原创 2015-11-05 18:33:49 · 599 阅读 · 0 评论 -
python 函数学习
1.默认情况下,所有在一个函数中被赋值的对象,是这个函数的本地变量,并且仅在这个函数运行的时候存在。为了声明一个在整个模块中可以使用的变量名,函数需要在global语句中将它列举出来 2.函数的参数,返回值,变量名不需要声明类型 3.def 语句创建了一个对象,并将这个对象赋值给一个变量名 4.函数主体往往都包含一条return语句,它表示函数调用结束,并回到函数调用处。return语句是可原创 2015-11-11 21:20:03 · 518 阅读 · 0 评论 -
python 函数参数
1.参数传递方式 参数是通过赋值来传递的,不管是可变参数还是不可变参数,都是将对象赋值给变量名。 当函数传递列表或字典这些可变对象的时候,函数调用结束后,会影响到调用者作用域中的可变对象 函数运行后,L的值也改变了 为了避免修改L的值,可以在传参的时候,传一个L的拷贝,这样函数调用就不会影响L的值 也可以在函数中对L进行拷贝,这种方法也不会影响L的值 X,L =原创 2015-11-13 16:22:39 · 575 阅读 · 0 评论 -
python发送邮件
可以使用Python的email模块来实现带有附件的邮件的发送。 SMTP (Simple Mail Transfer Protocol) 邮件传送代理 (Mail Transfer Agent,MTA) 程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件。大多数的邮件发送服务器 (Outgoing Mail Server) 都是使用SMTP转载 2015-11-14 14:43:50 · 418 阅读 · 0 评论 -
UnbondLocalError: local variable referenced before assigment
y,z = 1,2 def change(): y = y+2 z = z+2 retrun y,z 这段代码是想改变全局变量y,z的值,看起来没什么问题,y,z在函数外面声明了,实际运行起来会报 UnbondLocalError错。 这是因为python变量名解析原则:LEGB原则。当在函数中使用未认证的变量名时,python搜原创 2015-11-12 15:44:33 · 1869 阅读 · 0 评论 -
python global语句
global声明了一个命名空间,它告诉python函数要生成一个或多个全局变量名。 全局变量名 全局变量是位于模块文件内部的顶层的变量名 全局变量如果是在函数内被赋值的话,需要global声明 全局变量在函数内不需要声明就可以被引用 y,z = 2,3 x = 5 def aGlobal(): global x x = y+z retu原创 2015-11-12 16:22:15 · 431 阅读 · 0 评论 -
python的内存管理机制
Python的内存不需要程序员去手动管理,Python有自己的内存管理机制:引用计数和垃圾收集。 1.引用计数 Python内部记录着所有使用中的对象的个数。对象的引用计数增加的情况有: a.对象被创建 x = "create" b.对象的另外的引用别名被创建 y原创 2015-03-26 18:22:34 · 532 阅读 · 0 评论