Python数学函数、字符串和对象

学习目标:

  • 使用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.pimath.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的格式。此函数返回一个字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python中的字符串和数字是两种不同的数据类型,不能直接进行运算或者混合在一起使用。如果在使用字符串与数字进行操作时,会出现错误。 比如,如果我们想将一个数字与字符串进行相加,Python会提示类型错误(TypeError)。例如: ```python num = 10 text = "Hello" result = num + text # TypeError: unsupported operand type(s) for +: 'int' and 'str' ``` 在这个例子中,我们将一个整数(num)与一个字符串(text)相加,但是Python会报错,因为不能对整数和字符串进行直接相加运算。 要解决这个问题,我们可以将数字转换为字符串,然后再进行相加。例如: ```python num = 10 text = "Hello" result = str(num) + text # 将整数转换为字符串 print(result) # 输出:10Hello ``` 在这个例子中,我们使用了 `str()` 函数将整数转换为字符串,然后再与另一个字符串相加。最后输出的结果是 `10Hello`。 总结来说,Python中的字符串和数字是不同的数据类型,不能直接进行运算或者混合在一起使用。如果需要将数字与字符串进行操作,需要进行类型转换。 ### 回答2: Python中的字符串和数字是两种不同的数据类型,它们在进行操作的时候会有一些不同的规则和限制。如果出现了字符串和数字的操作错误,通常有以下几种常见的情况: 1. 字符串和数字直接相加: 当我们试图将一个字符串和一个数字相加时,Python会提示错误。这是因为字符串和数字属于不同的数据类型,在Python中不能直接进行这样的操作。若想将数字转换为字符串,可以使用str()函数将数字转换为字符串类型。 2. 使用字符串中的非数字字符进行数学运算: 如果一个字符串中包含有非数字字符(如字母、符号等),而我们试图将其转换为数字进行数学计算时,Python会报错。需要确保字符串中只包含数字字符,并且可以使用内置的int()或float()函数字符串转换为对应的整型或浮点型数字。 3. 使用非法的数字表达式: 在使用数字进行运算时,需要保证表达式的语法是正确的。例如,除数不能为零,数字不能作为变量名等。如果违反了这些规则,Python会报错并提示错误信息。 4. 使用错误的字符串操作方法: 当我们试图使用错误的字符串操作方法时,Python会报错。例如,使用了不存在的字符串方法或错误的参数。需要确保使用正确的字符串方法和正确的参数来操作字符串。 总结起来,当Python字符串和数字报错时,我们需要仔细检查代码,确保遵守正确的语法规则和使用正确的操作方法。如果无法解决问题,可以参考错误信息来定位问题,并查阅相关的Python文档或寻求帮助。 ### 回答3: 在Python中,字符串和数字是两种不同的数据类型,在进行操作时需要注意类型的匹配。如果在字符串操作中出现数字报错,可能是因为以下几种情况: 1. 类型错误:Python中的字符串操作只能在字符串之间进行,不能直接对数字进行操作。如果要对数字进行操作,需要先将数字转为字符串,再进行操作。例如: ```python num = 123 str_num = str(num) # 将数字转为字符串 result = str_num + '456' # 对字符串进行操作 ``` 2. 语法错误:在字符串操作时,需要使用正确的语法格式。如果在字符串操作中出现语法错误,Python解释器会报错。可以通过检查引号、拼接符号(+)、逗号等是否使用正确来解决问题。 3. 变量未定义:如果在字符串操作的过程中,使用了未定义的变量,Python解释器会报错。可以通过检查变量是否正确赋值或声明来解决问题。 总之,如果在Python字符串操作中出现数字报错,需要仔细检查代码,确保操作对象的数据类型正确、语法无误,并确保使用的变量都已经正确定义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值