本文是阅读《简明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__来查看。

04-30 20:32