学习目标:
- 使用math模块中的函数解决数学问题
- 表示和处理字符串和字符
- 使用ASCII和Unicode对字符编码
- 使用ord函数获取一个字符的数值编码以及使用chr函数将一个数值编码转换成一个字符
- 使用转义序列表示特殊字符
- 调用带参数end的print函数
- 使用str函数将数字转换成字符串
- 使用运算符+来连接字符串
- 从键盘读取字符串
- 介绍对象和方法
- 使用format函数格式化数字和字符串
- 绘制各种不同的图形
- 绘制带颜色和字体的图形
一、常见的Python函数
关键点:Python提供了许多有用的用于解决常见程序设计任务的函数。
函数是完成一个特殊任务的一组语句。Python 语言和其他程序设计语言一样,都提供了一个函数库。前面已经介绍过eval、input、 print 和int函数。这些都是内置函数并且在Python解释器里均可用。所以使用这些函数你不用导入任何模块。除此之外,你还可以使用abs、max、min、pow和round等内置函数,如表所示。
我们常常为解决数学问题创建一些程序。Python的math模块提供了许多数学函数:
两个数学常量pi和e也定义在math模块中。我们可以通过使用math.pi和math.e来访问它们。
你可以使用数学函数解决许多计算问题。例如:已知三角形的三条边,你可以使用下面的公式计算出三角形的三个角。
二、字符串和字符
关键点: 字符串是一连串的字符。 Python处理字符和字符串的方式是一样的 。
在Python里,你除了可以处理数值,还可以处理字符串。一个字符串就是一串包括文本和数字的字符。字符串必须被括在一对单引号(')或者双引号( " )里。Python没有字符数据类型。一个字符的字符串代表一个字符。例如:
letter = 'A' # Same as Tetter = "A"
numChar = '4' # Same as numChar = "4"
message = "Good morning" # Same as message = 'Good morning'
第一条语句将只有字符A的字符串赋值给变量letter。第二条语句将只有数字字符4的字符串赋值给变量number。第三条语句将字符串“goodmorning”赋值给变量message。
2.1、 ASCII 码
计算机在内部是使用二进制数的。在计算机里,一个字符被存储为一连串的0和1。把一个字符映射成它对应的二进制被称为字符编码。对字符编码的方式有很多。编码表定义编码字符的方式。流行的编码标准是ASCII (美国信息交换标准代码),它是一个比特的编码表,足以表示所有的大小写字母、数字、标点符号以及控制字符。ASCII 码使用0到127来表示字符。
2.2、统一码
Python也支持统一码。统一码是一种编码表,它能表示国际字符。ASCII 码表是统一码的子集。统一码由统一码协会( Unicode Consortium)建立,支持世界上各种语言所写的文本进行交换、处理和展示。一个统一码以“\u” 开始,后面紧跟四个十六进制数字,它们从“\u0000到\uFFFF"。例如,“welcome”被翻译成中文后就是两个字符:“欢”和“迎”。这两个字符的统一码表示是“\u6B22\u8FCE"。
2.3、函数ord和chr
Python提供ord ( ch)函数来返回字符ch的ASCII码,用chr ( code)函数返回code所代表的字符。例如:
ch = 'a'
ord(ch) # 97
chr(98) # b
a的ASCII码值是97,比A (65)的编码值要大。小写字母的ASCII码是从a开始,然后是b、c依次类推直到z的连续整数。大写字母也是一样的。任何小写字母的ASCII码与它对应的大写字母的ASCII码的差值都一样:32。这是一个很有用的处理字符的特性。
2.4、转义序列
Python 使用一种特殊的符号来表示特殊的字符,如表3-3所示。这种由反斜杠“\”和其后紧接着的字母或数字组合构成的特殊符号被称为转义序列。
2.5、不换行打印
当使用print函数时,它会自动打印一个换行符,这会导致输出提前进入下一行。如果你并不想在使用print函数后换行,可以使用下面的语法在调用print函数时传递一个特殊的参数end=“anyendingstring”:
print(item, end = "anyendingstring")
例如,下面的代码:
print("AAA", end = ' ')
print("BBB", end = '')
print("CCC",end = '***')
print("DDD", end = '***')
显示:
AAA BBBCCC***DDD***
2.6、函数str
str函数可以将一个数字转换成一个字符串。
s = str(3.4)
s = str(3)
2.7、字符串连接操作
你可以使用运算符+来对两个数字做加法。你也可以使用+运算符来连接两个字符串。
msg = "Hello" + "Python"
2.8、从控制台读取字符串
为了从控制台读取一个字符串,可以使用input函数。例如:下面的代码从键盘读取了三个字符串:
s1 = input("Enter a string: ")
s2 = input("Enter a string: ")
s3 = input("Enter a string: ")
print("s1 is" + s1)
print("s2 is" + s2)
print("s3 is" + s3)
三、对象和方法简介
关键点:在Python中,所有的数据(包括数字和字符串)实际都是对象。
在Python中,一个数字是一个对象,一个字符串是一个对象,每个数据都是对象。同一类型的对象都有相同的类型。你可以使用id函数和type函数来获取关于对象的一些信息。
n = 3
id(n)
type(n)
输出:
2596503748912
<class 'int'>
当执行程序的时候,Python 会自动为对象的id赋一个独特的整数。在程序的执行过程中,对象的id不会改变。然而,每当执行程序时,Python 都可能会赋一个不同的id。Python 按照对象的值决定对象的类型。显示数字对象n的id,输出的第1行显示的是Python已经被赋值给对象的id,而第2行显示它的类型。
在Python中,一个对象的类型由类决定。例如:字符串的类是str ,整数的类是int ,浮点数的类是float。术语“class”来自面向对象程序设计。在Python中,类(class) 和类型(type)是一样的意思。
注意: id和type函数在程序设计里很少用到,但是它们是学习更多有关对象的好工具。
Python中的变量实际上是一个对象的引用。
图3-2显示前面的代码中变量和对象之间的关系。
第1行的语句“n=3”是将3赋值给了n,实际上是将3赋值给了一个int对象,这个对象是由变量n引用的。
注意:对于n=3,我们可以说n是一个整型变量,其值为3。严格说来,n是一个引用了int对象的变量,而这个int对象的值为3。简单讲,说n是一个值为3的整型变量也可以。
你可以在一个对象上执行操作。操作是用函数定义的。Python 中对象所用的函数被称为方法。方法只能从一个特定的对象里调用。例如:字符串类型里有像lower()和upper()这样的方法,它们返回大写字母或小写字母写成的新字符串。
注意:如果你在Eclipse 上使用Python, Eclipse会自动在input函数输入的字符串后追加\r。因此,你应该用strip() 方法移除字符\r,如:
s = input("Enter a string").strip()
四、格式化数字和字符串
关键点:你可以使用format函数返回格式化的字符串。
调用这个函数的语法是:
format(item,format-specifier)
上面的item是数字或者字符串,而格式说明符( format-specifier) 指定条目item的格式。此函数返回一个字符串。