range函数使用
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
实例
range(10) # 从 0 开始到 10
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]range(1, 11) # 从 1 开始到 11
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]range(0, 30, 5) # 步长为 5
[0, 5, 10, 15, 20, 25]range(0, 10, 3) # 步长为 3
[0, 3, 6, 9]range(0, -10, -1) # 负数
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]range(0)
[]range(1, 0)
x = ‘runoob’
for i in range(len(x)) :
… print(x[i])
…
r
u
n
o
o
b
描述
Python split()
通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串
语法
split() 方法语法:
str.split(str="", num=string.count(str)).
参数
str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
str = “Line1-abcdef \nLine2-abc \nLine4-abcd”;
print str.split( ); # 以空格为分隔符,包含 \n
print str.split(’ ', 1 ); # 以空格为分隔符,分隔成两个
以上实例输出结果如下:
[‘Line1-abcdef’, ‘Line2-abc’, ‘Line4-abcd’]
[‘Line1-abcdef’, ‘\nLine2-abc \nLine4-abcd’
#!/usr/bin/python
#-- coding: UTF-8 --
txt = “Google#Runoob#Taobao#Facebook”
第二个参数为 1,返回两个参数列表
x = txt.split("#", 1)
print x
以上实例输出结果如下:
[‘Google’, ‘Runoob#Taobao#Facebook’]
enumerate()使用
enumerate是翻译过来是枚举的意思,看下它的方法原型:
enumerate(sequence, start=0),返回一个枚举对象。sequence必须是序列或迭代器iterator,或者支持迭代的对象。enumerate()返回对象的每个元素都是一个元组,每个元组包括两个值,一个是计数,一个是sequence的值,计数是从start开始的,start默认为0。
如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:
list1 = [“这”, “是”, “一个”, “测试”]
for i in range (len(list1)):
print i ,list1[i]
上述方法有些累赘,利用enumerate()会更加直接和优美:
list1 = [“这”, “是”, “一个”, “测试”]
for index, item in enumerate(list1):
print index, item
0 这
1 是
2 一个
3 测试
enumerate还可以接收第二个参数,用于指定索引起始值,如:
list1 = [“这”, “是”, “一个”, “测试”]
for index, item in enumerate(list1, 1):
print index, item
1 这
2 是
3 一个
4 测试
如果要统计文件的行数,可以这样写:
count = len(open(filepath, ‘r’).readlines())
这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。
可以利用enumerate():
count = 0
for index, line in enumerate(open(filepath,‘r’)):
count += 1
a=[“q”,“w”,“e”,“r”]
#创建一个空字典
b=dict()
#这里i表示的是索引,item表示的是它的值
for i,item in enumerate(a):
b[i]=item
print(b)
输出:{0: ‘q’, 1: ‘w’, 2: ‘e’, 3: ‘r’}
readlines()
readlines()从文件中一行一行地读数据,返回一个列表
f=open(r"C:\Users\Administrator\Desktop\test.txt",‘r’)
l=f.readlines()#读取的行数据包含换行符
f.close()
l
[‘hello python!\n’, ‘hello world!\n’]
可以使用strip( )函数,将末尾的换行符去掉,代码如下:
f=open(r"C:\Users\Administrator\Desktop\test.txt",‘r’)
l=f.readlines()
l
[‘hello python!\n’, ‘hello world!\n’]for i in range(0,len(l)):
… l[i]=l[i].strip()
…l
[‘hello python!’, ‘hello world!’]
f.close()
API
与因特网相连的端系统提供了一个应用程序接口(英语:Application Programming Interface,缩写:API;又称为应用程序编程接口)是软件系统不同组成部分衔接的约定。
API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。比方说:Alice使用邮政服务向Bob发一封信,邮政服务要求Alice将信放进信封中;在信封的中央写上Bob的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将信封丢进邮箱里;邮政服务有自己的“邮政服务API”或一套规则,Alice必须这么遵循,邮政服务才能把信寄给Bob;同理,因特网也有一个发送数据的程序必须遵循的API,使因特网向接收数据的程序交付数据。—来源于:《计算机网络-自顶向下学习法》
由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。······维基百科
URL
--统一资源定位符(Uniform Resource Locator,URL)
基本URL包含模式(或称协议)、服务器名称(或IP地址)、路径和文件名,如“协议://授权/路径?查询”。
完整的、带有授权部分的普通统一资源标志符语法看上去如下:协议://用户名:密码@子域名.域名.顶级域名:端口号/目录/文件名.文件后缀?参数=值#标志
模式/协议(scheme):它告诉浏览器如何处理将
URL
URL
要打开的文件。最常用的模式是超文本传输协议(Hypertext Transfer Protocol,缩写为HTTP),这个协议可以用来访问网络。其他协议如下:
http——超文本传输协议资源
https——用安全套接字层传送的超文本传输协议
ftp——文件传输协议
mailto——电子邮件地址
ldap——轻型目录访问协议搜索
file——当地电脑或网上分享的文件
news——Usenet新闻组
gopher——Gopher协议
telnet——Telnet协议
文件所在的服务器的名称或IP地址,后面是到达这个文件的路径和文件本身的名称。服务器的名称或IP地址后面有时还跟一个冒号和一个端口号。它也可以包含接触服务器必须的用户名称和密码。路径部分包含等级结构的路径定义,一般来说不同部分之间以斜线(/)分隔。询问部分一般用来传送对服务器上的数据库进行动态询问时所需要的参数。
有时候,URL以斜杠“/”结尾,而没有给出文件名,在这种情况下,URL引用路径中最后一个目录中的默认文件(通常对应于主页),这个文件常常被称为 index.html 或 default.htm。