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

news2024/11/23 7:54:16

学习目标:

  • 使用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.coloradmin.cn/o/879908.html

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

相关文章

小调查:你的流量卡是在线上买的还是在线下买的?

可能大家都知道&#xff0c;现在不管是线上还是线下都可以办理流量卡&#xff0c;线上的流量卡资费便宜一些&#xff0c;线下的流量卡功能更多一些&#xff0c;那么你是在线上购买的流量卡&#xff0c;还是在线下给我们的流量卡呢&#xff1f; ​ 都知道一分钱一分货&#xff…

电脑屏幕闪烁?别慌!解决方法在这!

“我新买了一台电脑&#xff0c;还没用几天呢&#xff0c;就出现了电脑屏幕闪烁的情况&#xff0c;这让我感到很烦躁。有什么方法可以解决电脑屏幕闪烁的问题呢&#xff1f;” 使用电脑的过程中&#xff0c;我们不难发现电脑屏幕有时候会出现闪烁的情况&#xff0c;这会导致使用…

试卷扫描成电子版方法分享,这个方法不要错过

很多时候&#xff0c;为了方便传输我们需要将试卷扫描成电子版进行存档&#xff0c;以备不时之需。很多小伙伴如果遇到试卷需要扫描转成电子版可能就不知道该如何操作了&#xff0c;其实试卷扫描是一项非常重要的工作&#xff0c;因此需要注意一些方法和细节。以下是试卷扫描成…

一个基于SpringBoot+Vue前后端分离高校心理健康系统详细设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

库存管理系统哪个好?亿发云南省大型智能WMS仓储信息解决方案,免费更新

在当今激烈的仓储物流竞争中&#xff0c;企业的成功关键在于加强作业效率和降低话费。随着科技的不断更新&#xff0c;传统仓储方式已逐渐被智能仓储管理系统&#xff08;WMS&#xff09;取代&#xff0c;并逐渐成为行业趋势。大数据时代下&#xff0c;引进行之有效的智能管理系…

Windows系统Git安装教程(详细Git安装过程)

获取Git安装程序 到Git官网下载&#xff0c;网站地址&#xff1a;https://git-scm.com/downloads&#xff0c;如下图&#xff1a; 因为我们是用Windows系统上的浏览器访问的&#xff0c;Git官网自动之别到了我使用的操作系统&#xff0c;所以右侧直接显示下载使用Windows系统的…

容器云平台监控告警体系—— Prometheus发送告警机制

1、概述 在Prometheus的架构中告警被划分为两个部分&#xff0c;在Prometheus Server中定义告警规则以及产生告警&#xff0c;Alertmanager组件则用于处理这些由Prometheus产生的告警。本文主要讲解Prometheus发送告警机制也就是在Prometheus Server中定义告警规则和产生告警部…

HTML5+CSS3自用笔记

助解&#xff1a;解析编译&#xff0c;加载运行 浏览器的渲染过程 JS加载执行 普通js/sync&#xff1a;阻塞 DOM加载解析 async&#xff1a;下载完就执行&#xff0c;无依赖 <script type"text/javascript" src"x.min.js" async"async"&g…

HoudiniVex笔记_P23_SDFBasics有向距离场

原视频&#xff1a;https://www.youtube.com/playlist?listPLzRzqTjuGIDhiXsP0hN3qBxAZ6lkVfGDI Bili&#xff1a;Houdini最强VEX算法教程 - VEX for Algorithmic Design_哔哩哔哩_bilibili Houdini版本&#xff1a;19.5 1、什么是SDF Houdini支持两种体积类型&#xff0c;…

c++11 标准模板(STL)(std::basic_stringbuf)(三)

定义于头文件 <sstream> template< class CharT, class Traits std::char_traits<CharT>, class Allocator std::allocator<CharT> > class basic_stringbuf : public std::basic_streambuf<CharT, Traits> std::basic_stringbuf…

location rewrite

Nginx location 匹配的规则和优先级 Nginx常用的变量 rewrite: 重定向功能 Location 匹配 URI URI&#xff1a;统一资源的表示符&#xff0c;是一种字符串标识&#xff0c;用于标识抽象或者物理资源 先来巩固一些与location结合使用的正则表达式 正则表达式&#xff1a;匹…

【833. 字符串中的查找与替换】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 你会得到一个字符串 s (索引从 0 开始)&#xff0c;你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出&#xff1a;indices, sources, targets。 要完成第 i 个替换操作: 检查…

数据结构:堆的实现

1.堆的概念 如果有一个关键码的集合 K { k1 &#xff0c;k2 &#xff0c;k3 &#xff0c;…&#xff0c;kn }&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并且 k(i) < k(i*21) 和 k(i) < k(i*22)&#xff0c; i 0 &#xff…

人机融合中态、势、感、知的嵌套与级联

态、势、感、知四部分的嵌套与级联可以被看作是一种综合、协同的感知模式&#xff0c;它们相互作用并相互支持&#xff0c;共同构成了全面的态势感知能力。 "态"指的是事物或系统的状态或状况。它可以包括各种要素&#xff0c;如环境、情况、情绪等。态势感知中的“态…

vue中实现订单支付倒计时

需求 创建订单后15分钟内进行支付&#xff0c;否则订单取消。 实现 思路&#xff1a; 获取订单创建时间、在创建时间的基础上增加15分钟作为结束时间&#xff08;倒计时多久根据自己的实际需求&#xff0c;这里为15分钟&#xff09;&#xff0c;两时间戳相减获取间隔的毫秒数…

春秋云镜 CVE-2021-41947

春秋云镜 CVE-2021-41947 Subrion CMS v4.2.1 存在sql注入 靶标介绍 Subrion CMS v4.2.1 存在sql注入。 启动场景 漏洞利用 exp http://localhost/panel/visual-mode.json?getaccess&typeblocks UNION ALL SELECT username, password FROM sbr421_members -- -&o…

Vue学习之条件渲染

<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>条件渲染</title><!--引入Vue--><script type"text/javascript" src"../vue.js"></script></head><body><!--…

Qt 屏幕偶发性失灵

项目场景: 基于NXP i.mx7的Qt应用层项目开发,通过goodix使用触摸屏,走i2c协议。 问题描述 触摸屏使用过程中意外卡死,现场分为多种: i2c总线传输错误,直观表现为触摸屏无效,任何与触摸屏挂接在同一总线上的i2c设备,均受到干扰,并且在传输过程中内核报错以下代码: G…

MAC环境,在IDEA执行报错java: -source 1.5 中不支持 diamond 运算符

Error:(41, 51) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) 进入设置 修改java版本 pom文件中加入 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin&l…

常见侧信道攻击方法

侧信道攻击方法需要采集到密码设备的能量泄露信息然后建立对应的能量消耗模型&#xff0c;之后使用特定的攻击方法来破解密钥。常见的侧信道攻击方法有简单能量&#xff08;或电磁&#xff09;攻击&#xff08;SPA&#xff09;、差分功耗&#xff08;或电磁&#xff09;攻击&am…