本文是阅读《简明Python教程》所做的随书笔记,主要是记录一些自己不熟悉的用法,或者所看到的比较有意思的内容,本书英文版A Byte of Python, 中文译版 简明Python教程 。
格式化format()方法
一般而言我们可以通过联立字符串('+')来达到相同的结果,但是这样更丑陋也更容易出错,我们看下format()的简单使用。
#!/usr/bin/env python # -*- coding:utf-8 -*- age = 20 name = 'Swaroop' print('{0} was {1} years old when he wrote this book'.format(name, age)) print('Why is {0} playing with that python?'.format(name))
输出:
Swaroop was 20 years old when he wrote this book Why is Swaroop playing with that python?
可以看出,format()即是用括号中的参数依次(格式化)替换{ }中的内容。
关于Python的更多格式化形式请参看:Python格式化输出
print 不换行
print 总是会以一个不可见的换行符'\n'结尾, 为防止打印过程中出现这一换行符,可以通过end制定其应以空白结尾:
print('hello', end='') print('world', end='')
这里指定空字符串('')结尾,这样字符串'hello'和'world'打印的时候便连接在一起了,end也可以指定为其它字符串。
global 语句
使用全局变量,需要使用global来声明,而不是在函数中又定义一个局部变量。
#!/usr/bin/env python # -*- coding:utf-8 -*- x = 50 def func(): global x print('x is', x) x = 2 print('x is', x) func() print('vaule of x is ', x)
输出:
x is 50 x is 2 vaule of x is 2
文档注释
文档注释是由左右三个单引号所包含的内容,如:''' Annotations '''
该文档字符串所约定的是一串多行字符串,其中第一行以首字母大写开始,以句号结束。
第二行为空行,后跟的第三行开始是任何详细的解释说明。
#!/usr/bin/env python # -*- coding:utf-8 -*- def print_max(x, y): ''' Print the maximum of two numbers. :param x: number one :param y: number two :return: None ''' if x > y: print (x, 'is maximum') else: print (y, 'is maximum') print_max(3, 5) print(print_max.__doc__)
输出:
5 is maximum Print the maximum of two numbers. :param x: number one :param y: number two :return: None
文档注释经常会用在类和函数的定义时进行必要的说明,可以通过如上调用__doc__来查看。