随笔分类 -  Python学习

摘要:http://www.oschina.net/question/12_27127#INSTALLhttp://www.360doc.com/content/11/0606/23/54470_122122538.shtml照着以上的文章写了如下的代码,对于我这个不怎么写代码的人来说,敲出如下的代码好艰辛,有木有~~~~(>_<)~~~~一 main方法自动执行所有test如果你之前已经使用test*惯例对测试方法进行命名,那么你就可以将以下代码插入测试模块的结尾:if __name__ == "__main__": unittest.main()当你从命令行执行你 阅读全文
posted @ 2014-03-19 11:42 邦邦酱好 阅读(488) 评论(0) 推荐(0) 编辑
摘要:最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧。1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。if __name__ == "__main__": s = (1,2,3,4) for a in s: for b in s: for c in s: if a != b and b != c and c != a: ... 阅读全文
posted @ 2013-11-27 15:19 邦邦酱好 阅读(5946) 评论(2) 推荐(0) 编辑
摘要:这里会介绍如何创建python程序的图像用户界面(GUI),也就是那些带有按钮和文本框的窗口等。目前支持python的所谓“GUI工具包”的有很多,本文简要介绍最成熟的跨平台pythonGUI工具包---wxPython。一. 下载和安装wxPython1.1 下载访问下载页面:http://wxpython.org/download.php即可。要注意以下几点:1. 如果是windows系统,应该下载预建的二进制版本,可以选择支持Unicode或不支持Unicode,除非一定要用到Unicode,否则2个版本的区别不大;2. 确保所选择的二进制版本要对应Python版本,比如python2. 阅读全文
posted @ 2013-11-13 16:14 邦邦酱好 阅读(3289) 评论(0) 推荐(0) 编辑
摘要:这里将介绍函数和对象--文件和流,让你在程序调用期间存储数据,并且可以处理来自其他程序的数据。一. 打开文件1.1 open函数open函数用来打开文件,语法如下:open(name,[.mode[.buffer]])它有唯一一个强制参数,就是文件名,然后返回一个文件对象。参数-模式和缓冲都是可选的。使用范例:(如果文件不存在,就会报错)>>> f = open('c:\\text\\test.txt') #windows下Traceback (most recent call last): File "", line 1, in f = 阅读全文
posted @ 2013-11-13 09:12 邦邦酱好 阅读(1647) 评论(0) 推荐(1) 编辑
摘要:Python的标准安装包括一组模块,称为标准库。这里介绍模块的工作方式,学习如何使用它们。一. 模块1.1 用import从外部模块获取函数并为自己的程序所用:>>> from math import sqrt>>> import math1.2 编写自己的模块任何python程序都可以作为模块导入。程序保存的位置很重要。假设我们所写的程序叫hello.py被保存在c:/python目录下,可以执行以下的代码,告诉解释器在哪里寻找hello.py模块:#hello.pyprint "hello,world!">>> im 阅读全文
posted @ 2013-11-12 14:01 邦邦酱好 阅读(4760) 评论(0) 推荐(1) 编辑
摘要:一. 迭代器在前面的笔记中,已经提到过迭代器(和可迭代),这里会对此进行深入讨论。只讨论一个特殊方法---__iter__,这个方法是迭代器规则的基础。1.1 迭代器规则 迭代的意思是重复做一些事情很多次,到现在为止只是在for循环中对序列和字典进行迭代,但实际上也能对其他的对象进行迭代:实现__iter__方法的对象。 __iter__方法返回一个迭代器,所谓迭代器就是具有next方法(这个方法在调用时不需要任何参数)的对象。在调用next方法时,迭代器会返回它的下一个值。如果next方法被调用,但迭代器没有值可以返回,就会引发一个StopIteration异常。 为什么不用列表?列表是一次 阅读全文
posted @ 2013-11-11 10:45 邦邦酱好 阅读(1561) 评论(2) 推荐(0) 编辑
摘要:在python中,有的名称会在前面和后面加上两个下划线,由这些名字组成的集合所包含的方法称为魔法方法(或者是特殊方法)。如果对象实现了这些方法中的某一个,那么这个方法会在特殊的情况下(确切地说是根据名字)被python调用。而几乎没有直接调用它们的必要。 这里会详细讨论一些重要的魔法方法(最重要的是__init__方法和一些处理对象访问的方法,这些方法允许你创建自己的序列或者是映射),还会处理属性(通过property函数来处理)。一. 构造方法1.1 介绍与创建 首先要讨论的第一个魔法方法是构造方法,它代表着类似于以前例子中使用过的那种名为init的初始化方法。但构造方法和其他普通方法不同. 阅读全文
posted @ 2013-11-08 16:12 邦邦酱好 阅读(2509) 评论(6) 推荐(4) 编辑
摘要:Python被称为面向对象的语言,创建自己的对象是python非常核心的概念。这里会介绍如何创建对象,以及多态,封装,方法,特性,超类以及继承的概念。一. 对象的魔力面向对象程序设计中的术语 对象 基本上可以看做数据以及由一系列可以存取,操作这些数据的方法所组成的集合。对象最重要的几个有点包括以下几个方面:(1)多态:意味着可以对不同类的对象使用同样的操作,它们会像被施了魔法一样工作;(2)封装:对外部世界隐藏对象的工作细节;(3)继承:以普通的类为基础建立专门的类对象;1.1 多态 多态意味着就算不知道变量所引用的对象类型是什么,还是能对它进行操作,而它也会根据对象类型的不同而表现出不同的行 阅读全文
posted @ 2013-11-07 16:44 邦邦酱好 阅读(653) 评论(2) 推荐(0) 编辑
摘要:本文会介绍如何将语句组织成函数,还会详细介绍参数和作用域的概念,以及递归的概念及其在程序中的用途。一. 创建函数函数是可以调用,它执行某种行为并且返回一个值。用def语句即可定义一个函数:(并非所有的函数都会返回一些东西)def fibs(num): result = [0,1] for i in range(num-2): result.append(result[-2]+result[-1]) return result记录函数如果想给函数写文档以便让人理解的话,可以加入注释(以#开头)。另一个方式就是直接写上字符串,它会作为函数的一部分进行存储,这成为文档... 阅读全文
posted @ 2013-11-01 14:39 邦邦酱好 阅读(886) 评论(0) 推荐(1) 编辑
摘要:前面已经介绍过几种基本语句(print,import,赋值语句),下面我们来介绍条件语句,循环语句。一. print和import的更多信息1.1 使用逗号输出A.打印多个表达式,用逗号隔开,会在每个参数之间插入一个空格符:>>> print 'age:',42age: 42B.同时输出文本和变量值... 阅读全文
posted @ 2013-10-31 15:25 邦邦酱好 阅读(1146) 评论(2) 推荐(1) 编辑
摘要:字典是python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都存储在一个特定的键(key)里。键可以是数字,字符串甚至是元组。1. 创建和使用字典字典可以通过下面的方式创建:phonebook = {'Alice':'2341','Beth':'9102','Ceil':'3258'}字典由多个键及与其对应的值构成的对组成。每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典是由一对大括号括起来。空字典:{}1.1 dict函数可以用dict函数通过映射(比如其他字典) 阅读全文
posted @ 2013-10-30 13:58 邦邦酱好 阅读(7086) 评论(0) 推荐(0) 编辑
摘要:这里会介绍如何使用字符串格式化其他的值,并了解一下利用字符串的分割,连接,搜索等方法能做些什么。1.基本字符串操作所有标准的序列操作(索引,分片,乘法,判断成员资格,求长度,取最大值和最小值)对字符串同样适用。但是要千万记住:字符串是不可变的。因此下面的分片赋值是不合法的:>>> website = "www.python.org">>> website[-3:] = "com"TypeError:object doesn't support slice assignment2.字符串格式化:精简版字符串格式化 阅读全文
posted @ 2013-10-29 16:26 邦邦酱好 阅读(379) 评论(2) 推荐(0) 编辑
摘要:最近在看《python基础教程》(基于python2.x),下面总结一下第二章列表与元组的知识: 在这章中引入了数据结构的概念。数据结构是通过某种方式组织在一起的数据元素的集合。在python中,最基本的数据结构就是序列。序列中的每个元素被分配一个序号,即元素的位置,也被称为索引。注意:第一个索引是0。1.序列概览 python有6种内建的序列:列表,元组,字符串,Unicode字符串,buffer对象和xrange对象。 这里重点介绍列表和元组。列表和元组主要区别在于,列表可以修改,元组不可修改。一般来说,在几乎所有情况下列表都可以代替元组。 在需要操作一组数值的时候,序列很好用:Edwar 阅读全文
posted @ 2013-10-28 11:31 邦邦酱好 阅读(577) 评论(0) 推荐(0) 编辑
摘要:1.enumerate:返回2个值,1是当前的for循环的第几轮,2是循环得到的数值enumerate works by supplying a corresponding index to each element in the list that you pass it. Each time you go through the loop, index will be one greater, and item will be the next item in the sequence.choices = ['pizza', 'pasta', 'sa 阅读全文
posted @ 2013-10-21 11:25 邦邦酱好 阅读(2984) 评论(0) 推荐(0) 编辑
摘要:关于string的split 和 join 方法对导入os模块进行os.path.splie()/os.path.join() 貌似是处理机制不一样,但是功能上一样。1.string.split(str=' ',num=string.count(str)): 以str为分隔,符切片string,如果num有指定值,则仅分隔num个子字符串。 S.split([sep [,maxsplit]]) -> 由字符串分割成的列表 返回一组使用分隔符(sep)分割字符串形成的列表。如果指定最大分割数,则在最大分割时结束。如果分隔符未指定或者为none,则分隔符默认为空格。注意:分隔 阅读全文
posted @ 2013-10-21 10:37 邦邦酱好 阅读(5028) 评论(0) 推荐(0) 编辑
摘要:print的即时打印会导致换行,要使得print的输出不换行,可以在字符串或者变量后面加个逗号(“,”),如下:s = "A bird in the hand..."for c in s: if c.lower() == 'a': print "X", else: print c, 阅读全文
posted @ 2013-10-18 11:55 邦邦酱好 阅读(430) 评论(0) 推荐(0) 编辑
摘要:list:创建:list = [5,7,9]取值和改值:list[1] = list[1] * 5列表尾插入:list.append(4)去掉第0个值并返回第0个值的数值:list.pop(0)去掉第0个值但不返回数值:del(list[0])去掉具体某个值:list.remove(35)函数function:无参数:def function():一个参数:def function(x):2个参数:def function(y):任意个参数:def add_function(*args):函数range:一个参数:range(n) 从第0位开始数n个位两个参数:range(m,n) 从第m位开 阅读全文
posted @ 2013-10-18 09:34 邦邦酱好 阅读(489) 评论(0) 推荐(0) 编辑
摘要:推荐一个学习语言的网站:http://www.codecademy.com有教程,可以边学边写,蛮不错的。for循环:1.for loops allow us to iterate through all of the elements in a list from the left-most (or zeroth element) to the right-most element. A sample loop would be structured as following:使用for循环可以遍历一个列表,从最左到最右:a = ["List of some sort”]for x 阅读全文
posted @ 2013-10-17 10:41 邦邦酱好 阅读(436) 评论(3) 推荐(0) 编辑