《Python语言程序设计》第三章(数学函数、字符串和对象)学习笔记

《Python语言程序设计》学习笔记

笔记选自《Python语言程序设计》[美]梁勇 著
本篇笔记没有记录用python绘画的turtle库


第三章 数学函数、字符串和对象

  • 简单的Python内置函数
函数描述举例
abs(x)返回x的绝对值abs(-2)=2
max(x1, x2, ...)返回x1, x2, …的最大值max(1,5,2)=5
min(x1, x2, ...)返回x1, x2, …的最小值min(1,5,2)=1
pow(a,b)返回 a b a^b ab的值,类似a**bpow(2,3)=8
round(x)返回与x最接近的整数,如果x与两个整数接近程度相同,则返回偶数值round(5.4)=5
round(5.5)=6
round(4.5)=4
round(x,n)保留小数点后n位小数的浮点值(四舍五入)round(5.466,2)=5.47
round(5.463,2)=5.46
  • Python的math模块提供了许多数学函数
函数描述举例
fabs(x)将x看作一个浮点数,返回它的绝对值fabs(-2)=2.0
ceil(x)x向上取最近的整数,然后返回这个整数ceil(2.1)=3
ceil(-2.1)=-2
floor(x)x向下取最近的整数,然后返回这个整数floor(2.1)=2
floor(-2.1)=-3
exp(x)返回幂函数 e x e^x ex的值exp(1)=2.71828
log(x)返回x的自然对数值log(2.71828=1)
log(x,base)返回以某个特殊值为底的x的对数值log(100,10)=2.0
sqrt(x)返回x的平方根sqrt(4.0)=2
sin(x)返回x的正弦值,x是角度的弧度值sin(3.14159/2)=1
asin(x)返回x的反正弦弧度值asin(1.0)=1.57
cos(x)返回x的余弦值,x是角度的弧度值cos(3.14159)=-1
acos(x)返回x的反余弦弧度值acos(1.0)=0
tan(x)返回x的正切值,x是角度的弧度值tan(0.0)=0
degrees(x)将x从弧度转换为角度degrees(1.57)=90
radians(x)将x从角度转换为弧度radians(90)=1.57

两个数学常量pi和e也定义在math模块中。可以通过使用math.pimath.e来访问它们。math模块应该在第一行被导入import math

  • 字符和字符串

Python处理字符和字符串的方式是一样的。字符串必须被括在一对单引号')或者双引号")里。Python没有字符数据类型。一个字符的字符串代表一个字符。

  • ASCII码
    计算机在内部是使用二进制数的。把一个字符映射成它对应的二进制被称为字符编码。对字符的编码标准有很多,编码表定义编码字符的方式。流行的编码标准是ASCII(美国信息交换标准代码),它是一个比特的编码表,足以表示所有的大小写字母、数字、标点符号以及控制字符。ASCII码使用0到127来表示字符。

  • 统一码
    Python也支持统一码。统一码是一种编码表,它能表示国际字符,支持世界上各种语言所写的文本进行交换、处理和展示。ASCII码表是统一码的子集。一个统一码以“\u”开始,后面紧跟四个十六进制数字,它们从\u0000\uFFFF

  • 函数ordchr
    python提供ord(ch)函数来返回字符ch的ASCII码,用chr(code)函数返回code所代表的字符。
    任何小写字母的ASCII码与它对应的大写字母的ASCII码的差值都一样:32。这是一个很有用的处理字符的特性。

  • 转义序列

字符转义序列名称含义数值
\b退格符8
\t制表符9
\n换行符也被称为行结束(EOL)字符,表示一行的结束10
\f换页符让打印机从下一页打印12
\r回车符把光标移动到同一行的第一个位置。13
\\反斜线92
\'单引号39
\"双引号34
  • 不换行打印
    当使用print函数时,它会自动打印一个换行符,这会导致输出提前进入下一行。如果你并不想在使用print函数后换行,可以使用下面的语法print(item, end="anyendingstring"),例如:
print("AAA", end = ' ')
print("BBB", end = '') # 表示一个空字符串,不会打印任何内容
print("CCC", end = '***')

# 输出:AAA BBBCCC***
  • 函数str可以将一个数字转换成一个字符串
s = str(3.4)
s
# 输出:'3.4'
  • 字符串连接操作:可以使用+运算符来连接两个字符串。增强型赋值运算符+=也能用来连接字符串。

  • 对象和方法简介:在Python中,所有的数据(包括数字和字符串)实际都是对象。可以使用id函数和type函数来获取关于对象的一些信息。

  • 当执行程序的时候,Python会自动为对象的id赋一个独特的整数。在程序的执行过程中,对象的id不会改变。在Python中类(class)和类型(type)是一样的意思。

  • Python中的变量实际上是一个对象的引用。n=3,n是一个引用了int对象的变量,而这个int对象的值为3。

  • Python中对象所用的函数被称为方法。方法只能从一个特定的对象里调用。例如:字符串类型里有像lower()upper()这样的方法,它们返回大写字母或小写字母写成的新字符串。一个对象调用方法的语法就是object.method()

s = "Welcom"
s1 = s.lower()
s1
# 输出:'welcome'
  • 另一个有用的字符串方法是strip(),它能被用来移除一个字符串两端的空格符。字符串' '\t\f\r\n都是空格符
  • 注意:如果你在Eclipse上使用Python,Eclipse会自动在input函数输入的字符串后追加\r。因此,你应该用strip()方法移除字符\r
s = input("Enter a string").strip()
  • 格式化数字和字符串:你可以使用format函数返回格式化的字符串,调用这个函数的语法是format(item, format-specifier),item是数字或者字符串,而格式说明符(format-specifier)指定条目item的格式。此函数返回一个字符串。

  • 格式化浮点数:如果条目item是一个浮点值,可以用标识符以"width.precisonf"的形式给出格式的宽度和精确度。width指定得到的字符串的宽度,精确度precision指定小数点后数字的个数,而f被称为转换码,它为浮点数设定格式。

  • 函数format(57.467657, "10.2f")将数字格式化为宽度为10,包括小数点以及小数点后两位小数的字符串。这个数字被四舍五入到两个小数位。这样,在小数点前分配7个数字。如果在小数点前的数字小于7个,则在数字前插入空格。如果小数点前的数字个数大于7,则数字的宽度将会自动增加。也可以省略宽度符,这样它被默认是0。这样,宽度就会根据格式化这个数所需的宽度自动设置。

  • 用科学计数法格式化
    在这里插入图片描述

  • 格式化成百分数
    在这里插入图片描述

  • 调整格式:默认情况下,一个数的格式是向右对齐的
    在这里插入图片描述

  • 格式化字符串:默认情况下,字符串是向左对齐的
    在这里插入图片描述

  • 常用的说明符

说明符格式
"10.2f"格式化浮点数,宽度为10精度为2
"10.2e"格式化浮点数(以科学计数法表示),宽度为10精度为2
"5d"将整数格式化为宽度为5的十进制数
"5x"将整数格式化为宽度为5的十六进制数
"5o"将整数格式化为宽度为5的八进制数
"5b"将整数格式化为宽度为5的二进制数
"10.2%"将数格式化为百分数
"50s"将字符串格式化为宽度为50的字符串
"<10.2f"向左对齐格式化项目
>10.2f向右对齐格式化项目
本章总结
  1. Python提供数学函数:解释器里有fabsmaxminpowround;math模块里的absceilfloorexplogsqrtsincosacosasintandegreeradians
  2. 一个字符串是一个字符序列。字符串的值可以用一对单引号或双引号括起来。Python里没有字符数据类型:单一字符的字符串代表一个字符。
  3. 转义序列是一种特殊的语法,它以“\”开始,再紧跟一个字母或者数字组合,以此来代表一个特殊的字符。例如\'\"\t\n
  4. 字符 \t\f\r\n被称为空白字符
  5. Python里所有的数据,包括数字和字符串都是对象。你可以调用方法实现对象上的操作。
  6. 你可以使用format函数格式化一个数字或字符串,然后返回一个字符串的结果。
关键术语
英文中文
backslash(\)反斜杠(\
character encoding字符编码
end-of-line行尾
escape sequence转义序列
line break换行符
methods方法
newline换行符
object对象
string字符串
whitespace characters空白字符
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值