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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/74306.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【软件工程】面向对象方法-RUP

RUP&#xff08;Rational Unified Process&#xff0c;统一软件开发过程&#xff09;。 RUP特点 以用况驱动的&#xff0c;以体系结构为中心的&#xff0c;迭代增量式开发 用况驱动 用况是能够向用户提供有价值结果的系统中的一种功能用况获取的是功能需求 在系统的生存周期中…

如何搭建个人邮件服务hmailserver并实现远程发送邮件

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 hMailServer 是一个邮件服务器,通过它我们可以搭建自己的邮件服务,通过cpolar内网映射工…

iOS手机无法安装Charles 的ssl证书

问题描述 iOS客户端安装证书时一直卡在下载这一步&#xff0c;无法抓包 1、打开Charles&#xff0c;选择help→SSL Proxying→Install Charles Root Certificate on a Mobile Device or Remote Browser 2、按照步骤1中的提示进行操作&#xff0c;手机连接电脑代理&#xff0c;…

OpenCV图像处理——轮廓检测

目录 图像的轮廓查找轮廓绘制轮廓 轮廓的特征轮廓面积轮廓周长轮廓近似凸包边界矩形最小外接圆椭圆拟合直线拟合 图像的矩特征矩的概念图像中的矩特征 图像的轮廓 查找轮廓 binary,contours,hierarchycv.findContours(img,mode,method)绘制轮廓 cv.drawContours(img,coutours…

4WRZ25E3-220-5X/6A24NZ4/D3M不带位移反馈比例阀放大器

该先导阀是一个由比例电磁铁控制的三通减压阀&#xff0c;它的作用是将一个输入信号转化为一个与其成比例的压力输出信号&#xff0c;可用于所有的4WRZ...和5WRZ...型比例阀的控制。比例电磁铁是可调试&#xff0c;湿式直流电磁铁结构&#xff0c;带中心螺纹&#xff0c;线圈可…

如何使用Redis实现内容推送功能

导读 在日常使用中&#xff0c;我们经常能看见内容推送功能。 常见的场景有&#xff0c;比如你在bilibili关注了某个up主&#xff0c;当up主发布视频后&#xff0c;就会推送到你的收件箱或者是动态中&#xff0c;让粉丝能够及时得知所关注的人发布了内容。 又比如朋友圈&…

【设备树笔记整理4】内核对设备树的处理

1 从源头分析_内核head.S对dtb的简单处理 1.1 bootloader向内核传递的参数 &#xff08;1&#xff09;bootloader启动内核时&#xff0c;会设置r0&#xff0c;r1&#xff0c;r2三个寄存器&#xff1a; r0一般设置为0;r1一般设置为machine_id (在使用设备树时该参数没有被使用…

Nginx的块、变量以及重定向

目录 绪论 1、location匹配 1.1 常见的Nginx正则表达式 1.2 正则表达式&#xff1a;匹配的是文件内容 1.3 location匹配uri 1.4 location常用的匹配规则 1.5 location优先级 1.6 匹配小结 1.7 生产环境中的匹配规则 2、nginx的内置变量 3、rewrite 3.1 rewrite作用 …

【考研数学】概率论与数理统计 | 第一章——随机事件与概率(1)

文章目录 一、随机试验与随机事件1.1 随机试验1.2 样本空间1.3 随机事件 二、事件的运算与关系2.1 事件的运算2.2 事件的关系2.3 事件运算的性质 三、概率的公理化定义与概率的基本性质3.1 概率的公理化定义3.2 概率的基本性质 写在最后 一、随机试验与随机事件 1.1 随机试验 …

优测云服务平台|【压力测试功能升级】轻松完成压测任务

一、本次升级主要功能如下&#xff1a; 1.多份报告对比查看测试结果 2.报告新增多种下载格式 Word格式Excel格式 3.新增多种编排复杂场景的控制器 漏斗控制器并行控制器事务控制器仅一次控制器分组控制器集合点 4.新增概览页面&#xff0c;包含多种统计维度 二、报告对比…

spring-boot-maven-plugin插件详解

一、 为什么Spring Boot项目自带这个插件 当我们在SpringBoot官方下载一个脚手架时,会发现pom.xml会自带spring-boot-maven-plugin插件 那为什么会自带这个插件呢&#xff1f; 我们知道Spring Boot项目&#xff0c;是可以通过java -jar 包名启动的 打包命令 mvn clean pac…

Rust 编程小技巧摘选(8)

目录 Rust 编程小技巧(8) 1. 取整函数 floor() 2. 取整函数ceil() 3. 取整函数 round() 4. 保留小数位数 5. 字符串转整数 unwrap() unwrap_or() Rust 编程小技巧(8) 1. 取整函数 floor() floor函数对浮点数进行向下取整 示例代码&#xff1a; fn main() {let x: …

【数据结构与算法——TypeScript】图结构(Graph)

【数据结构与算法——TypeScript】 图结构(Graph) 认识图结构以及特性 什么是图? 在计算机程序设计中&#xff0c;图结构 也是一种非常常见的数据结构。 但是&#xff0c;图论其实是一个非常大的话题 认识一下关于图的一些内容 图的抽象数据类型一些算法实现。 什么是图?…

一百五十五、Kettle——Linux上安装的kettle9.3连接MySQL数据库

一、目的 kettle9.3在Linux上成功安装后&#xff0c;就建立数据库连接&#xff0c;第一个就是MySQL数据库 二、前提准备 提前准备好MySQL驱动包 &#xff08;一&#xff09;MySQL版本 &#xff08;二&#xff09;注意&#xff1a;由于我的MySQL版本比较高&#xff0c;所以特…

maven工具-maven的使用-镜像仓库、本地仓、IDEA使用maven

Maven 一、为什么使用maven 添加第三方jar包jar包之间的依赖关系处理jar包之间的冲突获取第三方jar包将项目拆分成多个工程模块实现项目的分布式部署 二、maven简介 ​ Maven项目对象模型(POM)&#xff0c;可以通过一小段描述信息来管理项目的构建&#xff0c;报告和文档的…

动手学深度学习-pytorch版本(一):引言 预备知识

参考引用 动手学深度学习利用 Anaconda 安装 pytorch 和 paddle 深度学习环境 pycharm 安装 0. 环境安装 利用 Anaconda 安装 pytorch 和 paddle 深度学习环境 pycharm 安装 1. 引言 机器学习&#xff08;machine learning&#xff0c;ML&#xff09;是⼀类强⼤的可以从经…

数据结构:力扣刷题

题一&#xff1a;旋转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 思路一&#xff1a; 创建reverse()函数传入三个值分别为数组地址&#xff0c;从第几个数组元素开始&#xff0c;结束元素位置&#xff1b; 在r…

性能场景和性能需求指标

目录 一 性能场景 1、基准性能场景 2、容量性能场景 3、稳定性性能场景 4、异常性能场景 二 性能需求指标 1、业务指标 2、技术指标 2.1 时间指标 RT 2.2 容量指标 TPS 2.3 资源利用率 3、指标之间的关系 “TPS”与“响应时间” “用户数”与“TPS”与“压力工具中…

设计HTML5表格

在网页设计中&#xff0c;表格主要用于显示包含行、列结构的二维数据&#xff0c;如财务表格、调查数据、日历表、时刻表、节目表等。在大多数情况下&#xff0c;这类信息都由列标题或行标题及数据构成。本章将详细介绍表格在网页设计中的应用&#xff0c;包括设计符合标准化的…

构建之法 - 软件工程实践教学:每天都向前推进一点点

作者&#xff1a;福州⼤学 汪璟玢⽼师 汪老师&#xff1a;每次都向前推进一点点&#xff0c;哪怕只有一点点&#xff0c;也好过什么都不做。 ​邹老师&#xff1a;对&#xff0c;几个学期下来&#xff0c;就已经超过那些“空想”的团队很远了。坚持下去&#xff01; 汪老师&…