在一个程序当中,一般都会包含文件夹:bin.conf.lib.data.logs,以及readme文件. 所写程序存放到各自的文件夹中,如何进行串联? 首先,通过导入文件导入模块方式,引用其他人写好的代码. 其次,找到最顶层的程序所在文件夹,加入到环境变量中 import sys,os BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(file))) #取到工程目录 sys.path.insert(0,BASE_PATH)#加…
1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不是想说党员的批评与自我批评.表明意思上,自省(introspection)是一种自我检查行为.在计算机编程中,自省是指这种能力:检查某些事物以确定它是什么.它知道什么以及它能做什么.自省向程序员提供了极大的灵活性和控制力. 本文介绍了 Python 编程语言的自省能力.整个 Python 语言对自省提供了深入…
最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不是蟒蛇的意思,而是龟叔非常喜欢一部叫做<Monty Python飞行马戏团>的电视剧,所以以python命名(老外就是这么任性).二.解释型语言和编译型语言编译型语言就是先把写好的程序翻…
好吧,一直准备学点啥,前些日子也下好了一些python电子书,但之后又没影了.年龄大了,就是不爱学习了.那就现在开始吧. 安装python 3 Mac OS X会预装python 2,Linux的大多数版本也是如此(也可能预装python 3).但Windows有所不同,它未内置任何python版本. 检查你的计算机上是否安装python3: Mac OS X或Linux:python -V Windows是python.exe -V 注:这里是一个大写的V,若没有安装可以从www.python…
一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交易,金融分析等,作为动态语言的python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛 ·图形GUI python是一门什么样的语言? 编程语言主要从以下几个角度进行分类,编译型和解释型.静态语言和动态语言.强类型定义语言和弱类型定义语言. 编译型和解释型 编译型,如:c,c++,…
1.python模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代码段. 把相关的代码分配到一个模块里能让你的代码更好用,更易懂. 模块能定义函数,类和变量,模块里也能包含可执行的代码. 模块引入 (1)import语句:import module1[, module2[,... moduleN] 引入模块必须在文件的最开始引用. 一个模块只会被导入一次,不管你…
NoSQL(非关系型数据库) NoSQL,指的是非关系型的数据库.NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称.用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展.redis.memcached是典型的并且使用比较多的NoSQL之一. NoSQL之Redis Redis是一个key-value存储系统.和Memcached类似,它支持存储…
python诞生于复杂的信息系统时代,是计算机时代演进的一种选择. python的特点,通用语言,脚本语言,跨平台语言.这门语言可以用于普适的计算,不局限于某一类应用,通用性是它的最大特点.python语法有强制可读性,较少的底层语法元素,编程简单,语法简洁.10%的C语言的代码量,非常少的开发时间,非常少的维护量,10倍的产出. python有第三方库,13万的第三方库,快速增长的计算生态,开放共享,生态高产,跨多个操作系统平台. 涉及到操作系统底层,还是需要用C,用C可以写成python的接…
SqlAlchemy ORM SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. Python MySQL API (DBAPI) 通过 pymysql 连接管理mysql create table students ( id int not null auto_increment primary key, name ) not null, sex…
with语句 上下文管理器 contextlib模块 参考引用 with语句 with语句时在Python2.6中出现的新语句.在Python2.6以前,要正确的处理涉及到异常的资源管理时,需要使用try/finally代码结构.如要实现文件在操作出现异常时也能正确关闭,则需要像如下实现: f = open("test.txt") try: for line in f.readlines(): print(line) finally: f.close() 不管文件操作有没有出现异常,t…
一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> def add(a,b): #这里的a和b是形参 return a+b >>> add(1,2) # 这里的1和2是实参 3 >>> x=2 # 这里的x和y是实参 >>> y=3 >>> add(x,y) 5 二.参数的传递和改变…
For in 循环主要适用于遍历一个对象中的所有元素.我们可以使用它遍历列表,元组和字典等等. 其主要的流程如下:(图片来源于: https://www.yiibai.com/python/python_for_loop.html) 使用For遍历一个列表: peoples = ['Ralf', 'Clark', 'Leon', 'Terry'] for people in peoples: print(people) ''' 输出: Ralf Clark Leon Terry ''' 使用Fo…
While循环是哟中利用条件语句,不断的执行某一段代码块,达到批量操作输出等一系列的操作,直到条件不满足或者被强制退出为止. 其工作流程如下: (图片来源菜鸟教程:http://www.runoob.com/python/python-while-loop.html  ) 我们来看一个例子: current_number = 10 while current_number <= 20: print("Current number is : " + str(current_numb…
Python中条件语句if 是通过一条或者多条的执行语句的结果,来判断是否执行其包含的代码块. 通常会配合else.elif一起使用,达到根据条件进行多个代码块的执行操作. 简单的if score = 90 if score >= 95: print("优秀") #没有输出 if 95 > score >= 80: print("良") #输出: 良 和else 配合使用: score = 90 if score >= 60: print(&…
#python的优缺点优点:Python简单优雅,尽量写容易看明白的代码,尽量写少的代码.缺点:第一个缺点就是运行速度慢,和C程序相比非常慢,因为Python是解释型语言,你的代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢.而C程序是运行前直接编译成CPU能执行的机器码,所以非常快.第二个缺点就是代码不能加密.如果要发布你的Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是你在Windows上常见的…
1 run()方法 1.1 单个线程 在threading.Thread()类中有run()方法. from time import ctime,sleep import threading # 定义自己类的功能 class MyThread(threading.Thread): def __init__(self,func,args,name = ""): threading.Thread.__init__(self) self.func = func self.args = arg…
一.安装MySQL-python # yum install -y MySQL-python 二.打开数据库连接 #!/usr/bin/python import MySQLdb conn = MySQLdb.connect(user='root',passwd='admin',host='127.0.0.1') conn.select_db('test') cur = conn.cursor() 三.操作数据库 def insertdb(): sql = 'insert into test(n…
#条件语句 ''' if 判断条件: 执行语句…… else: 执行语句…… ''' flag = False name = 'python' if name == 'python': # 判断变量否为'python' flag = True # 条件成立时设置标志为真 print ('welcome boss') # 并输出欢迎信息 else: print (name) # 条件不成立时输出变量名称 ''' if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif…
上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值(数字),还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型. 二.整形和浮点型整形也就是整数类型(int)的,在python3中都是int类型,没有什么long类型的,比如说存年龄.工资.成绩等等这样的数据…
什么是异常 异常就是程序运行时发生错误的信号,在python中,错误触发的异常如下 错误类型分为两种:语法错误和业务逻辑错. 异常的类型 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常:基本上是无法打开文件 ImportError 无法引入模块或包:基本上是路径问题或名称错误 IndentationError 语法错误(的子类) :代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却…
标准库(内置模块) time与datetime 模块 时间表示方式 1.时间戳 2.格式化的字符串 3.元组形式 时间戳就是一个秒数 x=time.time(),从1970年1月1日0时0分0秒到现在的秒数 x/3600/24/365:年数,1970+年数,今年(近似) time.struct_time():dst时区,0代表不是夏令时 time.timezone:时区 time.altzone:夏令时时区 time.daylight:是否夏令时 time.time():时间戳 time.sle…
>>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'> 获取指定日期和时间 要指定某个日期和时间,我们直接用参数构造一个datetime: >&g…
一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库.       2.redis的官网地址,非常好记,是redis.io.       3.Redis和mongodb的区别是redis数据全部存储在内存中,使用磁盘仅用于数据的持久化,而mongodb数据是存储在磁盘上.redis本身性能是非常好的,每秒支持30w次的读写. 4.关系型数据库mysql.oracle.sql server.db2.sqlite,通过sql…
子类化内置类型 在python2.2之后,内置类型都可以子类化,但是有一个注意事项:内置类型不会调用用户定义的类覆盖的特殊方法.这个说起来比较绕口,什么意思呢.我们来看下下面的代码: class DopperDict(dict):     def __setitem__(self, key, value):         super(DopperDict,self).__setitem__(key,[value]*2) ⑴ if __name__=="__main__":     d…
python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组.循环里面还有两个比较重要的关键字,continue和break,continue的意思是,跳出本次循环,继续重头开始循环,break的意思是停止整个循环,也就是说在continue和break下面的代码都是不执行的. while循环 # 用while循环的话,必须有一个计数器 count=0 #计数器,控制…
递归.二维数组顺时针旋转90°.正则表达式 1.   递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多容易造成栈溢出 要求: 每次调用递归规模上有所减小 前一次为后一次做准备 规模较小时必须直接给出解答而不再进行递归调用 例子:递归实现二分法 def searchMyData(mydate,a1): mid = int(len(mydate)/2) if mid >= 1: if mydate[mi…
1. 协程 并发的解决方案: 多进程      多线程      什么叫并发:看起来同时进行 如何实现并发:切换+保存状态 进程线程都是由操作系统调度的 协程:单线程下实现的并发,应用程序级别的切换,操作系统无法感知 找到一个解决方案:1.在多个任务直接切换+保存状态 2.检测应用程序的IO,实现遇到IO才切换. 并发提高效率:遇到IO的时候切换,才能提高效率,如果是计算,就不会提高效率. yield:能实现协程,但是不能提高效率. greenlet:需要pip3 install greenle…
一.格式化输出 1.str.format()函数,格式化输出值 2.将输出值转变为字符串,可以使用repr()和str() str()函数将返回一个易读的表达式形式: repr()返回一个解释器易读的表达式形式. rjust():将字符串靠右,并在左边填充空格,还有ljust()和center() zfill():会在数字的左边填充0 3.! !a:使用ascii !s:使用str !r:使用repr 4.:冒号 可以跟随格式化标识,如:.3f 传入一个整数,可以保证该域至少有这么多的宽度 5.…
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档:http://docs.python.org/.在此向文档编辑者致谢.请勿将本文用于商业用途. 一.Python语言介绍 首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法.其具有高级的数据结构和许多方便的库文件,可以完成文件IO.系统调用.网络编程,甚至…
一.数字类型分类 数字提供了标量存储和直接访问,它是不可更改类型,也就是说变更数字的值会产生新的对象.python的对象模型与常规对象模型有些不同,对数字对象的更新,实际上是生成了一个新的数值对象,并得到它的引用. 在学习编程的过程中,我们一直接受这样的教育:变量就像一个盒子,里面装着变量的值.在python中,变量更像一个指针指向装变量值的盒子.对于不可改变类型来说,你无法改变盒子的内容,但可以将指针指向一个新盒子.每次将另外的数字赋值给变量的时候,实际上是创建了一个新的对象,并将它赋值给变量…