在上一节python学习_数据处理编程实例(二)的基础上数据发生了变化,文件中除了学生的成绩外,新增了学生姓名和出生年月的信息,因此将要成变成:分别根据姓名输出每个学生的无重复的前三个最好成绩和出生年月 数据准备:分别建立四个文本文件 james2.txt     James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22 julie2.txt        Julie Jones,2002-8-17,2.59,2.11,2:…
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问题在于,为何调用两次readline?文本文件a.txt里我们已知有两行文本,所以我们用两次readline把a.txt文本里的内容全部读取出来了,实际上通常程序是不知道某个文件里有多少行数据的,那怎样编写一个通用的程序无论文件里有多少行我们都可以通过程序把它全部读出来呢?这里需要将文件的读写和循环…
Python学习:类和实例 本文作者: 玄魂工作室--热热的蚂蚁 类,在学习面向对象我们可以把类当成一种规范,这个思想就我个人的体会,感觉很重要,除了封装的功能外,类作为一种规范,我们自己可以定制的规范,从这个角度来看,在以后我们学习设计模式的时候,对设计模式的理解会很有帮助.其次,语言中类是抽象的模板,用来描述具有相同属性和方法的对象的集合,比如Animal类.而实例是根据类创建出来的一个个具体的"对象",每个对象都拥有相同的方法,但各自的数据可能不同. Python使用class关…
在新的Python 3.x中,BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer整合到http.server包,SocketServer改名为socketserver. 任何一台装有操作系统(推荐Linux)和Python的计算机都可以作为HTTP服务器使用,来架设你的网站.在这里引入更高级的Python包,以写出更成熟的Python服务器. 1. 支持POST的socket服务器 我们首先改写原文中的HTTP服务器,从而让该服务器支持更加丰富的HTT…
1.题目:输出 9*9 乘法口诀表.     程序分析:分行与列考虑,共9行9列,i控制行,j控制列     代码: for i in range(1,10): print ('\r') for j in range(1,i+1): print "%d*%d=%d" %(i,j,i*j) , 2.题目:有两个磁盘文件A和B,各存放一行字母,把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中 代码: fo=open("/Users/chichi/Document…
虽然之前自己也看过许多关于python的视频,但一直没有动力与勇气,所以未能坚持且也没有学得这么深刻,这次希望通过python自动化培训,能够彻底改变自己,通过第一天的python学习,自己学到了许多东西,如第一次写博客.第一次独立完成一个用Python实现登陆认证加三级菜单分级显示.第一次学会将自己的项目代码上传至开源库等等,自己感触很深,下面主要针对这一天学习的内容做下总结: 今天学会了列表及列表的相关特性,对印象较深的是: 1.append  在现有列表后新增加一个值 : >>>…
因有用户反映,在基础文章对字符串函数的讲解太过少,故写一篇文章详细讲解一下常用字符串函数.本文章是对:程序员带你十天快速入门Python,玩转电脑软件开发(三)中字符串函数的详解与扩充. 如果您想学习并参与本教程的完善与写作.请在下方讨论区,回复相关问题.一起完善本文章教程的书写. Python字符串常用函数. 声明字符串变量: str = '关注做全栈攻城狮,写代码也要读书,爱全栈,更爱生活.' 下面所有字符串函数函数,是对变量str进行操作: 求字符串长度: 函数使用: 运行结果: 值得注意…
本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例. 1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如下图所示: 1.2. 线程同步(锁) 多线程的优势在于可以同时运行多个任务(至少感觉起来是这样).但是当线程需要共享数据时,可能存在数据不同步的问题.考虑这样一种情况:一个列表里所有元素都是0,线程"set"从后向前把所有元素改成1,而线程"print"负责从前往后读取列表…
上节"6.2 Python的list访问索引和切片"主要学习了Python下的List的访问技术:索引和切片的基础知识,这节将就List的索引index和切片Slice知识点做进一步的展开.       0.index必须大于0么? list数据类型通过index访问某项数据项时,其index的值可以取负值,-1代表list列表最后一项数据,-2代表倒数第二项数据,以此类推. >>> li1 = range(10) >>> li1 [0, 1, 2,…
前言 学习渠道:慕课网:Python入门 记录原因:人总归要向记忆低头[微笑再见.gif] 记录目标:形成简洁的知识点查阅手册 变量和数据类型 变量 赋值 在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量.这种变量本身类型不固定的语言称之为动态语言 变量在计算机内存中的表示 对a = 'ABC',在内存中创建了一个'ABC'的字符串和一个名为a的变量,并把它指向'ABC'. 数据类型 字符串 转义 符号:\ 反斜杠本尊:\\ 单行转义:r'--'…
Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件时的目的来 看,有的时候打开文件是为了从文件中读取需要的数据,那么此时我们在打开文件时应以读的的方式去打开文 件:有的时候需要将程序的数据写入某个文件,那么在写入数据之前需要把文件以写的方式打开,不能向以读 方式打开的文件里写数据,也不能从以写的方式打开的文件里读取数据. 那么怎样编写程序去以读或者…
目的:用一个实例总结学习到的with语句,函数,列表推导,集合,排序,字符分割等内容 要求:分别以james,julie,mikey,sarah四个学生的名字建立文本文件,分别存储各自的成绩,时间格式都精确为分秒,时间越短成绩越好,分别输出每个学生的无重复的前三个最好成绩,且分秒的分隔符要统一为“.” 数据准备:分别建立四个文本文件 james.txt     2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22 julie.txt        2.59,2…
Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持. 1. 多线程售票以及同步 我们使用Python来实现Linux多线程与同步文中的售票程序.我们使用mutex (也就是Python中的Lock类对象) 来实现线程的同步: # A program to simul…
前边我们学习了一下Python下如何读取一个文件的基本操作,学会了read和readline两个函数,本节我们学习一下Python下写文件的基本操作方法. 这里仍然是举例来说明如何写文件.例子的功能是往当前目录下的b.txt文件里写入两个字符串. 程序代码如下: wfile = open("b.txt", 'w') wfile.write("hello ") wfile.write("www.jeapedu.com\n") wfile.close…
在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关系运算有以下几种运算符. 下面是逻辑与实例,通过例子我们了解一下and.or等逻辑运算操作机制. def if_check(): global x x = 79 print(" in if_check x = ", x) if x >= 60 and x < 70: print…
类和实例 类是对象创建实例的模板,而实例则是对象的实体.类使用class关键字定义: class MyClass:    pass python中创建实例直接使用工厂函数(类名加上一对括号),和其他的语言使用new关键字有所不同: my_obj = MyClass() 一般来说,类名以大写字母开头,而对象名则以小写字母或者下划线开头. 实例化对象时,会执行类定义中的__init__()方法,该方法执行时包含实例的各种初始化操作. 方法和函数的区别:方法由对象调用,在方法定义中,第一个参数必须是显…
Class MyList(list): __metaclass__ = ListMetaclass #它表示在创建MyList这个类时,必须通过 ListMetaclass这个元类的LIstMetaclass.__new__()方法来创建,然后你可以再添加新的方法 1 创建实例的时候就会调用__init__ 2 python中如果子类和父类拥有相同的方法,则通过子类调用该方法时只会调用子类的方法,而覆盖父类的方法.如果我们需要append地式地继承父类这个方法,则需要通过在子类__init__中…
前言 学习渠道:慕课网:Python进阶 记录原因:我只是想边上课边做笔记而已,呵呵哒 食用提示:教程环境基于Python 2.x,有些内容在Python 3.x中已经改变 函数式编程 定义:一种抽象计算的编程模式 特点 把计算视为函数而非指令 纯函数式编程不需要变量,没有副作用,一个函数任意执行多少次结果都是确定的,测试简单 支持高阶函数,代码简单 Python支持的函数式编程 Python允许变量,不是纯函数式编程 支持高阶函数,函数可以作为变量传入 支持闭包,可以返回函数 有限度地支持匿名…
要求: 1.写一段商城程购物车序的代码2.用列表把商城的商品清单存储下来,存到列表 shopping_mail3.购物车的列表为shopping_cart4.用户首先输入工资金额,判断输入为数字5.用户从商城购物清单中选择购买物品,每次购买成功就用工资减去物品单价6.判断用户金额是否足够,不足够提示用户7.如果用户不想再继续购物,则按Q键退出菜单8.用户退出之后,将用户购买的清单打印出来.9.尽量学习带颜色输出几个重点信息字符. # Author:show530 shopping_mail =…
上节简单的说明了一下Pyhon下的文件读写基本流程,从本节开始,我们做几个小例子来具体展示一下Python下的文件操作,本节主要是详细讲述Python的文件读操作. 下面举一个例子,例子的功能是读取当前目录下的a.txt文本文件里的内容并输出打印到屏幕上.下图是运行结果.        程序代码如下: rfile = open("a.txt", 'r') words = rfile.read() print words rfile.close() 代码第一行的作用是以只读的方式打开当前…
本节主要讨论Python下的文件操作技术. 首先,要明白为何要学习或者说关系文件操作这件事?其实道理很简单,Python程序运行时,数据是存放在RAM里的,当Python程序运行结束后数据从RAM被清除掉,如果想把运行过程的数据保留下来则必须存放在永久非易似性的存储介质里,比如磁盘.那么这时候就需要在磁盘上创建文件来保留这些数据或者操作磁盘上已有数据把RAM里的数据增加到文件里去(参见下图1所示),这就是为何要学习文件读写操作的原因,当然通过数据库也可将数据存放在磁盘上,但数据库的操作和数据存放…
本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web':'www.','domain':'jeapedu.','org':'com'} for key in dict1: print format(key,"8s"), print ":\t", print dict1[key] dict1.clear() print di…
变量的基本概念,变量可以这样去理解,变量是一个值,这个值存储在计算机的内存里.以网购为例,您在选购傻商品的时候,是在不同页面里选不同的商品,选好一件点击“放入购物车”,选完了再点击去结帐,这些商品的价格.数量.折扣这些数据就存储在计算机的内存里,当您结算时,从内存里取出再进行相应的计算,得到消费金额. 程序通过变量名来访问内存里的数据. Python里的变量和C语言的变量有很多的不同,在C语言里定义或者说声明一个变量需要指定变量的类型,而Python比较自由,无需指定使用变量的数据类型,任何数据…
前文提及过变量代表内存里的某个数据,这个说法有根据么? 这里我们介绍一个python内建(built-in)函数id.我们先看看id函数的帮助文档吧.在python查某个函数的帮助文档很简单,只用help(xxx)即可. >>> help(id) 我们使用help查询一下id函数的具体信息如下: Help on built-in function id in module __builtin__: id(...) id(object) -> integer Return the i…
1. for 循环 for循环需要预先设定好循环的次数(n),然后执行隶属于for的语句n次. 基本构造是 for 元素 in 序列: statement 举例来说,我们编辑一个叫forDemo.py的文件 for a in [3,4.4,'life']: print a 这个循环就是每次从表[3,4.4,'life'] 中取出一个元素(回忆:表是一种序列),然后将这个元素赋值给a,之后执行隶属于for的操作(print). 介绍一个新的python函数range(),来帮助你建立表. idx…
本文介绍Python的os包中有查询和修改进程信息的函数,Python的这些工具符合Linux系统的相关概念,所以可以帮助理解Linux体系. 1. 进程信息 os包中相关函数如下: uname() 返回操作系统相关信息,类似于Linux上的uname命令. umask() 设置该进程创建文件时的权限mask,类似于Linux上的umask命令. get*() 查询 (*由以下代替) uid, euid, resuid, gid, egid, resgid :权限相关,其中resuid主要用来返…
本节主要讨论设计传递多个参数子函数的设计方法. 在2.3节里我们讨论了如何自己设计一个带参数的子函数的设计方法,现在我们研究一下如何传递两个及以上参数的设计方法. 函数为何要带参数呢?其实原因很简单,就是想把更多的数据交给子函数去处理,只传递一个参数给子函数显得有些太捉襟见肘的意思,Python和C语言一样子函数可以设计多个参数,但不需要指定参数的类型,这点很美!好,我们看看语法结构是怎样的,如下所示. def func(arg1, arg2,....): (tab) statment1 (ta…
本节研究一下if分支语句. if分支语句是Python下逻辑条件控制语句,用于条件执行某些语句的控制操作,当if后的条件conditon满足时,if其下的语句块被执行,但当if的控制条件conditon不满足时,if下的语句块就不被执行.使用if的语法结构如下所示. if conditon: (tab) statement1 (tab) statement2 (tab) statement3 etc. if条件控制分支语句的逻辑流程图,如下图所示. 下边的程序是计算3门课程平均值程序,如果平均成…
if-else分支语句结构的特点是当conditon条件满足时,执行if下的语句块,当condition条件不满足时执行else下的语句块,也就是说根据条件来控制让某些语句执行,某些语句不被执行. if-else语法结构如下: if conditon: (tab) statement1 (tab) statement2 (tab) statement3 etc. else: (tab) statement1 (tab) statement2 (tab) statement3 etc. 需要注意的…
简单的说就是if要判断condition是真是假,Python和C语言一样非0即真,所以如果if的condition是布尔表达式我们可以用True或者非0数(不可是浮点数)表示真,用False或者0表示假. def if_check(): if 1: print("1") if 0: print("0") if -100: print("-100") if 100: print("100") if True: print(&q…