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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊feedback和review有什么区别

在亚马逊上&#xff0c;"Feedback"&#xff08;反馈&#xff09;和"Review"&#xff08;评论&#xff09;是两个不同的概念&#xff0c;它们在购物体验中起着不同的作用。 Feedback&#xff08;反馈&#xff09;&#xff1a; 亚马逊的"Feedback"…

STM32 cubemx CAN

接收用到的结构体如下&#xff1a;CAN概念&#xff1a; 全称Controller Area Network&#xff0c;是一种半双工&#xff0c;异步通讯。 物理层&#xff1a; 闭环&#xff1a;允许总线最长40m&#xff0c;最高速1Mbps&#xff0c;规定总线两端各有一个120Ω电阻&#xff0c;闭环…

css3-flex布局:基础使用 / Flexbox布局

一、理解flex 二、理解Flex布局&#xff08;又称Flexbox布局&#xff09; Flex布局&#xff08;又称Flexbox布局&#xff09;是一种基于Web的CSS3布局模式&#xff0c;其目的是为了更加灵活和自适应地布置各种各样的网页元素。Flex布局通过将一个父容器分割为一个或多个弹性项…

图解WebSocket

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱写博客的嗯哼&#xff0c;爱好Java的小菜鸟 &#x1f525;如果感觉博主的文章还不错的话&#xff0c;请&#x1f44d;三连支持&#x1f44d;一下博主哦 &#x1f4dd;个人博客&#xff1a;敬请期待 文章目录 前言一、…

Qt 加载 libjpeg 库出现“长跳转已经运行”错误

在我以为升级到 Qt5.15.9 后&#xff0c;运行没有什么问题时&#xff0c;问题就来了 在加载 jpeg 格式的图片时&#xff0c;出现了“长跳转已经运行”的错误 这个错误一般是由 setjmp/longjmp 函数触发的&#xff0c;出现的可能的原因有以下几种&#xff08;听听 chatgpt 的回…

VMware Workstation 如何启用复制粘贴

产品&#xff1a;VMware Workstation 16 Pro 版本&#xff1a;16.1.1 build-17801498 我们刚安装好的 VMware Workstation 会发现无法复制粘贴文件到虚拟机中&#xff0c;如下为解决方案&#xff1a; 1.点击 虚拟机&#xff0c;点击 安装 VMware Tools(T)...。 2.虚拟机下面会…

详细安装配置django

安装配置使用Django。 1&#xff0c;下载安装 django pip install django 2.创建设置项目 先进入要放置项目的文件夹下 2.1&#xff0c; 创建项目 django-admin startproject Api_project 2.2&#xff0c; 创建app命令 cd Api_project dir看一下是否有 manage.py 文件…

2023-08-11 LeetCode每日一题(矩阵对角线元素的和)

2023-08-11每日一题 一、题目编号 1572. 矩阵对角线元素的和二、题目链接 点击跳转到题目位置 三、题目描述 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&#xff1…

企业计算机服务器中了Devos勒索病毒怎么办,勒索病毒解密

社会在发展&#xff0c;科技在进步&#xff0c;企业的生产也得到了很大改善&#xff0c;但是随着网络技术的不断发展&#xff0c;越来越多的企业遭到的网络安全威胁开始增多&#xff0c;其中较为明显的就是勒索病毒攻击。预防勒索病毒攻击成为日常生活中不可或缺的一部分工作。…

SyntaxError: Cannot use import statement outside a module

node环境运行报错&#xff1a; 解决步骤&#xff1a; 1. npm init -y 2. 在 package.json 文件中加入一条&#xff1a;"type": "module", 3. 保存后再执行即可 附&#xff1a;最好是不要在node用import&#xff0c;否则需要上次配置 建议1&#xff1a;用re…

el-table实现静态和动态合并单元格 以及内容显示的问题

实现效果图 <el-tablev-loading"loading":data"tableData"style"width: 100%":row-class-name"tableRowClassName"size"small"><el-table-column fixed label"序号" width"50"><el-tab…

Detecting Twenty-thousand Classes using Image-level Supervision

Detecting Twenty-thousand Classes using Image-level Supervision 摘要背景方法PreliminariesDetic:具有图像类别的检测器loss技术细节扩展Grad-CAMGrad-CAM原理 总结 摘要 摘要 由于检测数据集的规模较小&#xff0c;目前的物体检测器在词汇量方面受到限制。而图像分类器的数…

LeetCode_03Java_1572. 矩阵对角线元素的和

给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 输入&#xff1a;mat [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;25 解释&#xff1a;对角线的和为&#xff1a;1 5 9 3 7 2…

Scratch 之 3D 介绍及教程

第一章 为什么 3D 很难&#xff1f; 1.1 3D 难在何处&#xff1f; 3D 之所以会使我们觉得困难&#xff0c;是因为 Scratch 软件只有两个坐标轴&#xff0c;既&#xff1a;X轴、Y轴。 2维坐标系 而 3D 却拥有三个坐标轴&#xff1a; 3维坐标系 怎么办&#xff1f;很简单&…

Jquery 复选框点击生成标签 源代码

html <!DOCTYPE html> <html><head><meta charset"utf-8"><title>服务资源管理</title><link rel"stylesheet" type"text/css" href"../lib/layui/css/layui.css" /><link rel"st…

【BASH】回顾与知识点梳理(二十一)

【BASH】回顾与知识点梳理 二十一 二十一. Linux 的文件权限与目录配置21.1 使用者与群组属主(文件拥有者)属组(群组概念)其他人的概念root(万能的天神)Linux 用户身份与群组记录的文件 21.2 Linux 文件权限概念Linux 文件属性Linux 文件权限的重要性 21.3 如何改变文件属性与权…

组合模式(C++)

定义 将对象组合成树形结构以表示部分-整体’的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。 应用场景 在软件在某些情况下&#xff0c;客户代码过多地依赖于对象容器复杂的内部实现结构&#xff0c;对象容器内部实现结构(而非抽象接口)的变化…

Redis数据结构——链表list

链表是一种常用的数据结构&#xff0c;提供了顺序访问的方式&#xff0c;而且高效地增删操作。 Redis中广泛使用了链表&#xff0c;例如&#xff1a;列表的底层实现之一就是链表。 在Redis中&#xff0c;链表分为两部分&#xff1a;链表信息 链表节点。 链表节点用来表示链表…

PyTorch深度学习实践---笔记

PyTorch深度学习实践---笔记 2.线性模型&#xff08;Linear Model&#xff09;2.exercise 3. 梯度下降算法&#xff08;Gradient Descent&#xff09;3.1梯度下降&#xff08;Gradient Descent&#xff09;3.2 随机梯度下降&#xff08;Stochastic Gradient Descent&#xff09…

亚马逊测评工作室怎么做?

亚马逊是全球最大的电商平台之一&#xff0c;任何一个卖家想要提升自己店铺的知名度和销量&#xff0c;都需要关注自己Listing的Review数量和星级评价&#xff0c;而测评对于卖家账号的评定和产品曝光量有着重要影响&#xff0c;可以用于店铺提升销量&#xff0c;留评等 在进行…