Python 语言精华

原创
2016/05/09 11:47
阅读数 42

注释

单行注释(前置井号)

# this is comment

Python 不允许使用关键字作为变量的名称

关键字

and 	exec	not
assert	finally	or
break	for	pass
class	from	print
continue	global	raise
def	if	return
del	import	try
elif	in	while
else	is	with
except	lambda	yield

数字

0, 90, 0xff

字符串

'abc' 
"abc"
"""
abc
"""

变量

除关键字之外的以字母开头的名字都可以当成变量的名字,但一些内置的函数没有命名保护。

print = 3 # print(1) would throw error
int = 4    # int("34g") 会报错

变量赋值会复制结果,而不是注册一个引用。

常量

这是一种书写惯例,名称都是大写的是常量,但没有只读保护

PI = 3.14

字符串常用函数

ord('A') # 65
chr(65)  # A
len('abc')  # 3
print('abc') # abc

list and touple 列表和元组

元组只是只读的列表而已,从执行效率来看,元组速度更快,元组只是和优化有关的概念。

还有一种列表,占用更少的资源空间,叫做惰性列表。

range(5)   # range(0,5)
list(range(5))  # [0,1,2,3,4,5]

列表很容易索引和获取片段

>>> list = [1,2,3,4]
>>> list[0]
1
>>> list[1:]
[2, 3, 4]
>>> list[:1]
[1]
>>> list[1:3]
[2, 3]

条件判断

在条件表达式中,if 后面的表达式会自动当成逻辑表达式,非零数值、非空字符串、非空list等,就判断为True,否则为False。

if x:
    print('True')

完整的多级判断表达式:

age = 20
if age >= 6:
    print('teenager')
elif age >= 18:
    print('adult')
else:
    print('kid')

if + else 判断表达式

age = 3
if age >= 18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')

循环

for ... in list:

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

list 也可以是惰性列表 range(int):

sum = 0
for x in range(101):
    sum = sum + x
print(sum)

while 循环模式:

sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

函数是 first-class 可以成为另外函数的参数。函数可以有默认参数值和变长参数。

def func(a=None):
    if a is None:
        a = []
    print a
    a.append(0)

def func(*args):
     print type(args), args

函数返回值用元组模拟同时返回多值:

def f4(): return 1, 2, 3

全局变量在函数内使用,必须事先声明,这是一个隔离命名空间的好办法。

a = 1
def f():
    global a
    return a

期待用户输入:

raw_input("hello")
展开阅读全文
打赏
2
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
2
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部