本章介绍了Python的背景知识,包括什么是Python.Python的起源以及Python的一些关键特性. 1 什么是Python Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性. 2 起源 贵铎·范·罗萨姆(Guido van Rossum)于1989年底始创了Python:1991年初,Python发布了第一个公开发行版. 3 特点 3.1 高级 Python是一门强大的.可以进行系统调用的解释型脚本语言:内建有常用的高…
现在开始学习Python语言的核心部分.首先了解什么是Python对象,然后讨论最常用的内建类型,接下来讨论标准类型运算符和内建函数,之后给出对标准类型的不同分类方式,最后提一提Python目前还不支持的类型(这对那些有其他高级语言经验的人会有所帮助). 1 Python对象 Python使用对象模型来存储数据,任何类型的值都是一个对象. 所有的Python对像都拥有三个特性:身份,类型,值. 身份:对象的唯一标识,可以用内建函数id()来得到.它与该对象的内存地址相关,程序中极少会用到. 类型…
本章介绍基本的Python语法.编程风格:并简要介绍标识符.变量和关键字,以及变量占用内存的分配和回收:最后给出一个较大的Python样例程序来体验这些特性. 1 语句和语法 1.1 注释 可以在一行的任何位置,以 # 开头,直至行尾都是注释. 1.2 反斜线继续上一行 一行过长的语句,可以用反斜线 \ 分解成几行.\ 必须是该行的最后一个字符(其后不能有空格等其他任何字符). 闭合符号:小括号().中括号[].花括号{}.三引号"""  """…
本章研究Python中的序列:字符串.列表和元组.因为这些类型其实都是由一些成员共同组成的一个序列整体,所以我们把它们统称为序列.序列的存储结构可以表示为: 1 序列 序列类型有着相同的访问模式:按下标访问某一元素[0, N-1],也可以通过切片操作一次得到多个元素. 1.1 标准类型操作符 比较运算.逻辑运算(见4.5节),一般都能适用于所有序列类型. 1.2 序列类型操作符 in, not in #成员关系操作符 + #连接操作符 * #重复操作符 [] #切片操作符 成员关系操作符——ob…
本章将深入介绍Python的文件处理和相关输入输出能力,包括:文件对象(以及它的内建函数.内建方法和属性),标准文件,文件系统的访问方法,文件执行,最后简要涉及持久存储和标准库中与文件有关的模块. 1 文件对象 句柄.文件描述符,可以访问磁盘的普通文件,也可以访问设备文件等类文件.文件只是连续的字节序列,无论单字节还是大块数据,数据传输会用到字节流. 2 文件内建函数 open()和file()功能一样,打开一个文件,返回一个文件对象,打开错误则引发错误.推荐:打开文件时用open,为了说明文件…
本章讲述if.while.for以及与他们搭配的else.elif.break.continue.pass等语句. 1 if语句 语法:三部分——关键字if.条件表达式.代码块.(记住冒号) if cond_expr: expr 1.1 多重条件表达式 条件表达式可以是一个由not.and.or连接起来的逻辑表达式. 1.2 单一语句的代码块 如果代码块只有一行,可以将三部分写在一行,不推荐这样. 2 else语句 同C语言中的if...else...,记住冒号.else一定要与和它搭配的if对…
本章介绍Python语言中的映射类型(字典)和集合类型,包括操作符.工厂函数.内建函数与方法. 1 字典 字典是Python中唯一的映射类型——键key直接映射到值value.字典是容器类型,其对象是可变的.字典中的数据是无序排列的.是哈希表. 创建字典——直接赋值{}.工厂函数dict().内建方法fromkeys(): >>> dict1={} >>> dict2={'name':'earth','port':80} >>> dict1, dict…
11 列表 类似于C语言的数组,但是列表可以包含不同类型的任意对象.列表是可变类型. 创建列表——手动赋值.工厂函数: >>> aList = [12, 'abc'] >>> print aList [12, 'abc'] >>> list('foo') #参数为可迭代对象 ['f', 'o', 'o'] 访问列表元素——下标[]或者切片[:]. 更新列表——直接对索引/索引范围赋值: >>> aList[0] = 'def' #对一…
本章的主题是Python中的数字,这里详细介绍每一种数字类型,它们适用的各种运算符,以及用于处理数字的内建函数.在本章的末尾简单介绍了几个标准库中用于处理数字的模块. 1 数字类型 数字:标量贮存,可直接访问.值不可更改,更新数字的值其实是生成了一个新的对象. 创建数字对象:赋值的时候就已经创建. 更新数字对象:给变量赋新值时,其实是创建了一个新的对象,并将其引用赋值给变量.原对象引用计数减1. 删除数字对象:无法真正删除对象,只能用del语句删除对象的这个引用(变量名),之后不能使用这个引用.…
16 文件和内建函数open(),file() 打开文件: fobj = open(filename, 'r') for eachLine in fobj: print eachLine, #由于每行自带一个换行符,所以print后面有逗号,阻止print再换行 fobj.close() #已打开的文件,访问结束之后,记得close 其中,filename是文件的字符串名字:'r'为访问模式,表示读(read)文件,其他模式还有 'w':写文件,'a':添加,'+':读写,'b':二进制访问:未…
本章是对Python的主要特性做一个快速介绍. 1 介绍 交互执行时,解释器有两种提示符: 主提示符(>>>):解释器在等待输入下一个语句: 次提示符(...):解释器在等待输入当前语句的其它部分. Python有两种方式来完成要求: 语句:使用关键字来组成命令,可以有输出,也可以没有: 表达式:没有关键字,可以是算术表达式,也可以是函数. 2 程序输出,print语句 可以用print语句显示变量的字符串表示,或者仅使用变量名查看该变量的原始值. >>> myStri…
1.把一个字符串赋值给变量str.先用print来显示变量的内容,然后用变量名称来显示: >>>str = 'Hello World!' >>>print str Hello World! >>>str 'Hello World!' 在Python3.x中,print语句后被输出的内容必须用括号括起来: >>> str = 'Hello World!' >>> print str SyntaxError: inval…
比较符号如<,>,=比较的是对象的值 如果要比较对象本身要用is,is not repr()的功能与''所做的事情是一样的 Python不支持的类型有char,byte,指针,short,long,double python缓存了(-1,100)使用这个范围的数字,如果是同一个值,内存地址一样,所以用is函数判断结果是True,不在这个范围的就是False…
函数基础 一个函数就是将一些语句集合在一起的部件,它们能够不止一次地在程序中运行.函数的主要作用: 最大化的代码重用和最小化代码冗余 流程的分解 一般地,函数讲的流程是:告诉你怎样去做某事,而不是让你使用它去做某事. Python 中的 def 语句实际上是一个可执行的语句:当它运行时,它会创建一个新的函数对象并将其赋值给一个变量名.因为它是一个语句,一个 def 可以出现任一语句可以出现的地方--甚至是嵌套在其他的语句中.例如,下面的使用也是合法的: test = ... if test: d…
1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较. 步骤 TCP客户端 TCP服务器 第一步 建立socket对象  建立socket对象 第二步 调用connect()建立一个和服务器的连接 设置socket选项(可选) 第三步 无 绑定到一个端口(也可以是一个指定的网卡) 第四步 无 侦听连接 下面具体来讲这四步的建立方法: 第一步,建立socket对象:这里与客户端一样,依然是: s=socket.socket(socket.…
虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录一些有用的 help(函数名),获取函数的使用帮助,q退出 python支持五种基本的数字类型 int(有符合整数),long(长整数),bool(布尔值),complex(复数),float(浮点数) decimal(十进制浮点数)2.4以后添加了 for item in items常用来循环遍历…
1 python是大小写敏感的 2 遍历一个字典的键值: for a in dict_obj.keys(): print a 3 列表解析功能可以让代码很简洁,比如:squared = [x ** 2 for i in range(0, 3)]还可以加上筛选条件:squared = [x ** 2 for i in range(0, 3) if not x % 2] 4 python的一些命名风格:__xxx__:系统定义的名字__xxx:类中的私有变量名 5 在python程序中,我们经常看到…
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi django和webpy都是python的web开发框架.Django的主要目的是简便.快速的开发数据库驱动的网站.它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包.这使得Django具有很强的可扩展性.它还强调快速开发和DRY(Do Not Repeat Yourself)原则.webpy小巧,简单,实用,可以快速的完…
创建文件(makeTextFile.py)脚本提醒用户输入一个尚不存在的文件名,然后由用户输入文件每一行,最后将所有文本写入文本文件 #!/usr/bin/env python 'makeTextFile.py -- creat text file' import os ls = os.linesep # get file name while True: if os.path.exists(fname): #不存在返False,存在返True print "ERROR: '%s' alread…
python语句默认会给每一行添加一个换行符,只要在最后加一个逗号就能改变这种行为 若函数里没有return就自动返回None对象 PEP(python增强提案简称)http://python.org/dev/peps dir()显示对象属性,如果没有参数,显示全局变量的名字 help()显示文档字符串,没有参数进入交互模式 type()返回对象类型,返回值本身是一个type对象 输入数值用input(),而不是raw_input() 当一个模块太大,驱动太多功能,应该考虑拆一些代码出来外键另一…
字典是python里唯一的映射类型…
套接字 套接字是计算机网络数据结构.在任何类型的通信开始之前,网络应用程序必须创建套接字. 有两种类型的套接字,基于文件和面向网络的. unix套接字是第一个家族,AF_UNIX代表地址家族,缩写AF 第二种套接字的家族名称为AF_INET,AF_INET6 python只支持AF_UNIX,AF_NETLINK,AF_TIPC,AF_INET 面向连接的套接字TCP套接字,传输控制协议,必须使用SOCK_STREAM 无连接的套接字UDP套接字,用户数据报协议,必须使用SOCK_DRGAM 创…
摘自[https://www.cnblogs.com/chenhuabin/p/10070996.html] by 奥辰 赞…
表示择一匹配的管道符号|,表示一个“从多个模式中选中其一”,有时候也称作并或者逻辑或 点号或者句号.符号匹配出了换行符\n以外的任何字符.如果要匹配句号,只需要使用反斜线转移句号符号的功能. ^匹配字符串起始$匹配字符串结尾 []方括号用来常见字符集,用来匹配括号内的字符串 []方括号和^一起使用表示否定[^abc]不匹配方括号中的字符串 {N}大括号表示匹配前面的字符串N次{M,N}表示匹配前面字符串M-N次 ()圆括号表示对正则表达式进行分组或者匹配子组 re模块,核心函数和方法…
High order function map(f,Iterable),将f依次作用在Iterable的每个元素然后返回一个Iterator,再用list(map(f,Iterable))进行转换得到一个Iterable的结果: reduce(f,Iterable),函数f必须接收两个参数[如f(x,y),x表示之前的累积结果,y表示当前要参与运算的序列中的一个元素],reduce返回一个累积结果: filter(f,Iterable),筛选函数,将f依次作用在序列中的每个元素,若结果为true…
前式需要找到类型的ID(相当于门牌号),然后“敲门”取得类型值 后式只需要找到类型的ID,而不需要再去“敲门”获得类型具体值.在一个“门牌号”内只可能有一个值,因此就不用明知故问了.因此后式比前式少了一步,在比较较多的情况下,后者效率更高 当然,对于类型比较,最优方法还是isinstance(),isinstance()可以用类型值组成的元组进行比较,代码更少,函数调用也少,效率应该就高点了~…
输出当前系统关于数字的范围 import sys l = {} maxint = sys.maxint minint = -maxint maxlong = sys.maxsize minlong = -maxlong maxfloat = sys.float_info.max minfloat = sys.float_info.min…