python参考手册——笔记1(简介)

ptyhon :通用、开源、跨平台、多模式的脚本语言

IPO模式

  • 输入Input
  • 处理Pocess
  • 输出Output
“死循环”程序可测试CPU的性能交互模式:输入任意合法的语句或语句序列,可立即查看结果,特殊变量_用于保存最后一次运算结果

变量和算数表达式:

  • python是一种动态类型的语言,变量名称无类型,赋值运算符的作用是在名称和值之间创建一种关联
  • 换行代表一条语句结束,也可以在同一行上使用分号来隔开多条语句
  • while语句的循环主体由缩进表示,python不会指定缩进两,只要在一个代码块中保持一致即可
  • 字符串格式化运算符%:
  1. print("%3d,%0.2f"%(a,b))
  2. print(format(a,"3d"),format(b,"0.2f"))
  3. print("{0:3d} {1:0.2f}".format(a,b))冒号前的数字代表传递给format()方法的相关参数,冒号后边的则是格式说明符
  • 编写复杂的测试用例通常需要编写很长的代码行,可在一行的结尾使用反斜杠(\),然后就可以在下一行继续书写上一条语句的内容,可随意设置后续行的格式
例:if product=="game" and type=="pirate memory" \
and not (age<4 or age>8):
print("take it")

  • 使用or and和no关键字可以建立布尔类型的表达式,此外,python没有专门的switch或case语句用于测试多个值。要处理多个测试用例,可以使用if和elif组合语句
  • 使用in运算符用于检查某个值是否包含在另一个对象中,返回bool值。
  • python打开文件,描述文件路径:
  1. 字符串中\是被当做转义字符使用,应注意
  2. open(‘c:\\a.txt’)转义方式
  3. open (r'c:\a.txt')   显式声明字符串不用转义
  4. open('c:/a.txt')     使用Linux的路径/

文件的输入输出

  • open()函数:返回一个文件对象,调用该对象上的方法可以执行各种文件操作
  • readline()方法:读取一行的内容,包括结尾的换行符在内,读至文件结尾是返回空字符串
  • 将程序的输出送到一个文件中:a:print("%3d %0.2f"%(year,sum),file=f) b: f.write("%3d %0.2f"%(year,sum))
  • 交互式地读取用户输入
            a:import sys
                 sys.stdout.write("enter your name:") #将数据输出屏幕
                  name=sys.stdin.readline()  #读取用户输入
            b:name=input("enter your name:")

字符串

创建一个字符串字面量,可将字符串放在单引号、双引号或三引号中
  • a:两个三引号之间出现的所有文本都是为字符串的内容
  • b:使用单引号和双引号指定的字符串必须在一个逻辑行
  • c:索引运算符s[i]   提取一个字符
  • d:切片运算符s[i:j] 提取一个子字符串
  • e:使用加+运算符连接两个字符串,python不会把字符串的值解释为数值数据
  • f:执行数学运算,要使用int()或float()函数将字符串转换为数值
  • g:使用str()、repr()或format()函数将非字符串转换为字符串
  1. str()生成的输出与print语句得到的输出相同
  2. repr()创建的字符串可表示程序中某个对象的精确值
  3. format(x,"0.5f")利用特定格式将之转换成字符串

列表name=['','','']

  • a.将新项追加到列表末尾,可使用append()方法
  • b.将一项插入列表中,可使用insert()方法,insert(2,'')
  • c.索引、切片、加法运算符
  • d.创建一个空列表的方式
  1. name=[]
  2. name=list()

元组person=('','','')或person=‘’,‘’,‘’

  • a.可以使用数字索引提取元组中的值,更常见的做法是将元组解包为一组变量
  • b.创建元祖后不能修改它的内容,说明元组是一个有多个部分组成的对象
  • c.不会占据额外的内存空间
表示数据时通常同时使用元组和列表
#文件中各行的格式为“name,shares,price”
filename="portfolio.csv"
portfolio=[]
for line in open(filename):
	fileds=line.split(",")
	name=fileds[0]
	price=float(fileds[2])
	shares=int(fileds[1])
	stock=(name,shares,price)
	portfolio.append(stock)
split()方法按章指定的分隔符将一个字符串划分为一个字段列表

集合set( , , ,):一组无序的对象,元素不能重复

并集t|s
交集t&s
差集t-s
对称差集t^s(项在t或者s中,但不会同时出此案在而这种
t.add() 添加一项
t.update([ , , ,])添加多项
t.remove() 删除一项


字典stock={“name”:"eee","shares":100,"price":203.90}

a.使用关键字索引运算符,如stock['name']='eee'
b.创建一个空字典的方式
stock={}
stock=dict()
c.使用in运算符可以测试某个内容是不是字典成员
if 'name' in stock:
p=stock['name']
else:
p='aaa'
或p=stock.get(''name','aaa')
d.获取一个字典关键字列表,将字典转换为列表即可
s=list(stock)
字典是python解释器中最完善的数据类型,因此,如果只是要在程序中存储和处理数据,使用字典比
自定义数据结构要好得多

迭代和循环

最常用的循环结构是用于迭代多个项的for语句。for n in [1,2,3,4,5],每次迭代都会讲列表中的下一个值赋给变量n

range(i,j,[步进值])创建的对象表示值i到j-1的整数,起始值被忽略,则认为是0,第三个参数是可选

例:a=range(5) #a=0,1,2,3,4
      a=range(1,8,2) #a=1,3,5,7
      a=range(8,1,-1) #a=8,7,6,5,4,3,2

函数

a.使用def语句可以创建函数
b.让函数返回多个值,可使用元组,可以很容易地将结果放到单独变量中
a,b=hanshu()
c.在函数中创建变量或给变量赋值是,该变量的作用于是局部的,当函数返回之后会立即销毁该变量
要在函数内部修改某个全局变量的值,可以使用global语句
例:count=0
def foo():
      global count 
         count+=1

生成器:基于处理管道、流或数据流编写程序的一种极其强大的方式

任何使用yield的函数都称为生成器
使用yield语句,可以让函数生成一个结果序列,调用生成器函数创建一个对象,该对象通过连续调用__next__()方法
生成结果序列
例:
>>>def countdown(n):
	print("counting down")
	while n>0:
		yield n
		n -=1
>>>for i in countdown(5):
	print(i)
counting down
5 4 3 2 1

协程:把函数编写为一个任务,从而能处理发送给他的一系列输入,这类函数称为协程

可以使用yield语句并以表达式(yield)的形式创建协程
>>> def print_matches(matchtext):
	print("Looking for",matchtext)
	while True:
		line=(yield) #获得一行文本
		if matchtext in line:
			print(line)


			
>>> matcher=print_matches("python")
>>> matcher.__next__()  #向前执行到第一条(yield)语句,然后使用send()函数给它发送数据
Looking for python
>>> matcher.send("hello world")
>>> matcher.send("hello world python")
hello world python
>>> matcher.close() #匹配器函数调用结束

对象和类

程序中使用的所有值都是对象,对象由内部数据和各种方法组成

dir()函数可以列出对象上的可用方法,是进行交互实验的有用工具

>>> t=[10,20,30]
>>> dir(t)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>> 

在面向对象的编程中,class语句用于定义新的对象类型
>>> class Stack(object):    #将Stack声明为一个object,Stack继承自object,object也是所有python类型的根类型
	def __init__(self): #每个方法中的第一个参数始终指向对象本身,根据约定,该参数使用名称self
		self.stack=[]
	def push(self,object):
		self.stack.append(object)
	def pop(self):
		return self.stack.pop()
	def length(self):
		return len(self.stack)


>>> s=Stack()
>>> s.push("dave")
>>> s.push(42)
>>> s.push([3,4,5])
>>> x=s.pop()
>>> y=s.pop()
>>> x
[3, 4, 5]
>>> y
42
>>> s.push(42)
>>> s.push([3,4,5])
>>> s.length()
3

异常

程序中出现错误,就会引发异常,并显示追踪消息,指出发生错误类型及位置,通常错误会导致程序终止
可使用try和except语句捕捉并处理异常

模块

python允许把定义放入一个文件中,然后在其他程序和脚本中将其作为模块导语,文件的后缀必须是.py
导入:import 模块名(文件名)
使用不同的名称导入模块:import 文件名 as 新模块名
将具体的定义导入到当前命名空间:from 文件名 import 具体定义
把模块的所有内容加载到当前命名空间:from 文件名 import *
列出模块的内容:import 文件名 ;dir(文件名)
Python参考手册(第4版 修订版)是Python编程语言的杰出参考手册,书中详尽讲解了Python核心和Python库中重要的部分。全书分为三个部分,首部分涉及类型与对象,运算符与表达式,程序结构与控制流,函数与函数式编程,类与面向对象编程,模块、包与分发,输入与输出,测试、调试、探查与调优等与Python语言相关的内容;第二部分涉及内置函数和异常、运行时服务、数学运算、数据结构、算法与代码优化,字符串和文本处理,数据库访问,文件和目录处理,操作系统服务,线程与并发,网络编程与套接字,网络应用程序编程,Web编程,网络数据处理和编码、其他库模块等与Python库相关的内容;第三部分涉及扩展和嵌入Python等内容。此外,书中还包括一些Python官方文档或其他参考资料中未提及的高级主题。 本书面向Python程序员,或有其他编程语言经验的开发人员。 目录 第一部分 Python语言 第1章 Python简介 2 第2章 词汇和语法约定 20 第3章 类型与对象 26 第4章 运算符与表达式 52 第5章 程序结构与控制流 65 第6章 函数与函数编程 75 第7章 类与面向对象编程 96 第8章 模块、包与分发 118 第9章 输入与输出 129 第10章 执行环境 142 第11章 测试、调试、探查与调优 149 第二部分 Python库 第12章 内置函数和异常 164 第13章 Python运行时服务 178 第14章 数学运算 197 第15章 数据结构、算法与代码简化 209 第16章 字符串和文本处理 225 第17章 Python数据库访问 241 第18章 文件和目录处理 254 第19章 操作系统服务 268 第20章 线程与并发性 334 第21章 网络编程和套接字 365 第22章 Internet应用程序编程 404 第23章 Web编程 433 第24章 Internet数据处理和编码 445 第25章 其他库模块 477 第三部分 扩展与嵌入 第26章 扩展与嵌入Python 482
Python is an extensible, interpreted, object-oriented programming language. It supports a wide range of applica- tions, from simple text processing scripts to interactive Web browsers. Python 是一种可扩展的, 即译式, 面向对象规格的编程语言. 它能应用在极广泛的地方, 从简单的文字处理 工作到交互式的网页浏览器. While the Python Reference Manual describes the exact syntax and semantics of the language, it does not describe the standard library that is distributed with the language, and which greatly enhances its immediate usability. This library contains built-in modules (written in C) that provide access to system functionality such as file I/O that would otherwise be inaccessible to Python programmers, as well as modules written in Python that provide standardized solutions for many problems that occur in everyday programming. Some of these modules are explicitly designed to encourage and enhance the portability of Python programs. Python 语言参考手册 中精确地描述了Python 语言的句法及语义. 然而语言参考手册中没有提到Python 所 附带功能强大的标准库. 这个函式库大大地增强了Python 的实用性. 其中包括C 写的内建模组, 提供介面 让程式进行操作系统层次的工作, 例如档案的输出输入; 同时也有以Python 语言本身编写的模组, 为实际 编程时常遇的问题提供标准解决方案. 这类模组有的经过特别设计以便Python 程式在跨平台的情况下运 行无误. This library reference manual documents Python’s standard library, as well as many optional library modules (which may or may not be available, depending on whether the underlying platform supports them and on the configuration choices made at compile time). It also documents the standard types of the language and its built-in functions and exceptions, many of which are not or incompletely documented in the Reference Manual. 本参考手册罗列并说明了Python 标准库的各种功能, 以及许多非核心的模组(按不同的操作系统和编译时 的设置而定, 不是每台机上的Python 都能用这些模组.) 本手册同时记载了Python 语言所有的标准数据类 型, 内建函数, 异常类, 这些在参考手册中被忽略了或只是扼要的提过一下. This manual assumes basic knowledge about the Python language. For an informal introduction to Python, see the Python Tutorial; the Python Reference Manual remains the highest authority on syntactic and semantic questions. Finally, the manual entitled Extending and Embedding the Python Interpreter describes how to add new extensions to Python and how to embed it in other applications. 本手册的读者要对Python 有基本的认识. 初学者应该从Python 指南 开始. 至于Python 语言参考手册 则是该语言的语法和语义问题上的权威阐释. 最后 扩展或嵌入 Python 解释器 一文解说了如何在Python 中加入新的扩展模组; 以及怎样把Python 解释器嵌入到其他的应用程式中.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值