python遇到的错误

1,关于break break是终止最近的循环。

1 for i in range(10):
2     if i == 2:        
3         break
4     print i
5 #以上,只打印0和1

 

 2,在py2中,range函数返回一个列表

 

 3,enumerate()

 

利用enumerate()函数,可以在每次循环中同时得到下标和元素:

 

S = 'abcdefghijk'

for (index,char) in enumerate(S):

    print index

    print char

实际上,enumerate()在每次循环中,返回的是一个包含两个元素的定值表(tuple),两个元素分别赋予index和char

 

4   zip函数

ta = [1,2]

tb = [9,8]

 

# cluster

zipped = zip(ta,tb)

print(zipped)#[(1,9),(2,8)]

 

 # decompose

na, nb = zip(*zipped)

print(na, nb)#((1,2),(9,8))

 

5

 1 def aa():
 2     pass
 3 a = aa()
 4 print type(aa)#<type 'function'>
 5 print type(a)#<type 'nonetype'>,实际为函数返回值类型
 6 
 7 def bb():
 8     yield 1
 9 b = bb()
10 print type(bb)#<type 'function'>
11 print type(b)#<type 'genarator'>

 

6,

os是一个模块,但是os.path也是一个模块,难道os是一个模块包(由众多模块组成的文件夹)?不是os.path和os都是模块,os模块中有这样一句:import posixpath as path

查看模块路径:XXmodule.__file__

 

7,

允许如下操作

a=(1,2)

c,b=a

print c

 

8,在py3中,一般说来,像str()函数,对应于对象内部的__str__()方法,len()对应于对象内部的__len__()方法,getattr()函数与__getattr__()是相对应的

 

9,is是判断前后两个引用指向的是否为同一对象。而不是判断两个引用指向的对象是否相等,判断相等与否用==

比如a=(1,2) b=(1,2) a和b并不是同一对象,但是a==b

 

10

for i in range(10):
    print (i)

print (i)#以上循环是一个常见的代码,通常这个i只是被用于循环,但是,它却是一个全局变量,并不是局部变量。这里将打印9

 

 

11

s = 'abcdefg'

print(s[0])

print(s[-2])

print(s[1:4])

print(s[1:4:2])

print(s[-1:1:-1])

print(len(s))

 

a

f

bcd

bd

gfedc

7

 

posted @ 2018-02-05 18:41  扫驴  阅读(196)  评论(1编辑  收藏  举报