版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章Python基本数据类型Python数据类型Python数值数据类型time库和random库Python字符串数据类型主要内容01020304Python数据类型01数据类型的作用1.定义数据的性质2.确定数据的存储方式3.支持数据的操作4.提高程序的效率和安全性Python数据类型02Python数值数据类型数值数据类型表示复数由实数部分和虚数部分组成,形式为a+bj,其中a是实部,b是虚部,j表示虚数单位:1+2j。复数的实部和虚部都是浮点数,可以通过.real和
.imag
属性分别获取实部和虚部。复数(complex)整数(int)浮点数(float)整数是没有小数部分的数字,可以是正整数、负整数或零。在Python3中,整数的长度不受限制,可以表示非常大的整数。在Python中,整数不仅可以用十进制表示,还可以用二进制(前缀0b或0B)、八进制(前缀0o或0O)和十六进制(前缀0x或0X)表示:123表示十进制,其对应的二进制数是0b1111011或0B1111011、八进制数是0o173或0O173、十六进制数是0x7b或0X7b。带有小数点的数字,用于表示实数:3.14,-0.001,2.5。在计算机中以二进制形式存储,因此可能存在精度问题:0.1+0.2的结果可能不是精确的0.3,而是0.30000000000000004。使用科学计数法来表示非常大或非常小的数字。
科学计数法的一般形式为:<尾数>e<指数>1.23e6表示1.23×106,即1,230,0005.67e-3表示5.67×10−3,即0.00567。值非常大或非常小时,Python会自动使用科学计数法来显示,保持代码的可读性和简洁性。>>>1.23e61230000.0>>>5.67e-30.00567>>>x=1+2j>>>x.real1.0>>>x.imag2.0数值数据类型的转化函数功能注意示例int()将其他类型转换为整数1.如果将一个浮点数转换为整数,小数部分会被截断,而不是四舍五入。2.如果转换失败(例如int("abc")),则会引发ValueError异常。>>>int(3.14)3>>>int("10")10>>>int(True)1>>>int(0b1000001)65bin()将其他整数类型转换为二进制如果参数不是整数,会抛出TypeError>>>bin(65)'0b1000001'oct()将其他整数类型转换为八进制如果参数不是整数,会抛出TypeError>>>oct(0b11011)0o33hex()将其他整数类型转换为十六进制如果参数不是整数,会抛出TypeError>>>hex(65)0x41float()将其他类型转换为浮点数1.转换时,如果原始数据是整数,则会被转换为带有小数部分的浮点数(小数部分为零)。2.如果转换失败(例如float("abc")),则会引发ValueError异常。>>>float(10)10.0>>>float(“3.14”)3.14>>>float(“1.23e-4”)0.000123complex()将其他类型转换为复数1.如果转换的原始数据是整数或浮点数,则会被转换为具有该数值作为实部且虚部为零的复数。2.如果转换的原始数据是字符串,则字符串应该表示一个有效的复数,例如,"1+2j"。3.如果转换失败,则会引发ValueError异常。>>>complex(5)(5+0j)>>>complex(3.14)(3.14+0j)>>>complex("1+2j")(1+2j)表1数值类型转换常用函数数值数据类型的算术运算表2算术运算符运算符描述示例+加法>>>3+25-减法>>>5-23*乘法>>>3*26/除法>>>10/25.0//整除(即取商)>>>10//33%取模(即取余数)>>>10%31**幂运算>>>2**38Python中算术运算符的优先级顺序,从高到低排列为:幂运算(**)>正负号(+,-)>乘法(*)、除法(/)、整除(//)、取余(%)>加法(+)、减法(-)。数值类型运算常用函数表3数值类型运算常用函数函数描述示例divmod(a,b)返回
(a//b,a%b),即商和余数。>>>divmod(9,4)(2,1)pow(x,y,z=None)返回
x的y次幂,如果z给出,则返回x的y次幂对z取模的结果。>>>pow(2,4)16>>>pow(2,4,3)1round(x,n=0)返回
x四舍五入到n位小数。>>>round(3.1415926)3>>>round(3.1415926,4)3.1416max(arg1,arg2,...)max(iterable)返回给定参数中的最大值,或者可迭代对象中的最大值>>>max(1,2,3)3>>>max([4,5,6])6min(arg1,arg2,...)min(iterable)返回给定参数中的最小值,或者可迭代对象中的最小值>>>min(1,2,3)1>>>min([4,5,6])4函数描述示例pi圆周率π>>>math.pi3.141592653589793e自然常数e>>>math.e2.718281828459045sqrt(x)返回x的平方根>>>math.sqrt(12)3.4641016151377544pow(x,y)返回x的y次幂(xy)>>>math.pow(2,4)16.0exp(x)返回e的x次幂(ex)>>>math.exp(2)7.38905609893065log(x)返回x的自然对数(以e为底)>>>math.log(100)4.605170185988092log10(x)返回x的以10为底的对数>>>math.log10(100)2.0sin(x)正弦函数,返回x的正弦值(x为弧度)>>>math.sin(math.pi/2)1.0cos(x)余弦函数,返回x的余弦值(x为弧度)>>>math.cos(math.pi)-1.0tan(x)正切函数,返回x的正切值(x为弧度)>>>math.tan(math.pi/4)0.9999999999999999degrees(x)将弧度x转换为角度>>>math.degrees(math.pi)180.0radians(x)将角度x转换为弧度>>>math.radians(180)3.141592653589793ceil(x)返回大于或等于x的最小整数(向上取整)>>>math.ceil(3.14)4floor(x)返回小于或等于x的最大整数(向下取整)>>>math.floor(3.14)3math库表4math库常用数学常量和数学函数03Python字符串数据类型字符串的表示单引号表示'Hello,World!'如果字符串内容中不包含单引号,使用单引号是一个简洁的选择。双引号表示"Hello,World!"当字符串中包含单引号时,使用双引号可以避免转义字符的使用:"It’sacat."。三引号表示'''Hello,World!'''
或
"""Hello,World!"""主要用于表示多行字符串——跨越多行而不需要额外的转义字符。用来包含单引号或双引号,而不会引起混淆:'''Hesays"hello"'''。常用的字符串常量表6字符串常量常量名值说明string.ascii_letters'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'所有大小写字母string.ascii_lowercase'abcdefghijklmnopqrstuvwxyz'所有小写字母string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ'所有大写字母string.digits'0123456789'所有数字字符string.hexdigits'0123456789abcdefABCDEF'所有十六进制字符string.octdigits'01234567'所有八进制字符string.punctuation'!"#$%&\'()*+,-./:;<=>?@[\\]^_{|}~'`所有标点符号string.whitespace'\t\n\r\x0b\x0c'所有空白字符(空格、制表符等)string.printable'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~\t\n\r\x0b\x0c'所有可打印字符索引正向索引:从
0
开始,从左到右依次递增。反向索引:从
-1
开始,从右到左依次递减。
使用两种索引方式可以方便地访问字符串中的字符切片切片的基本语法如下:
string[start:stop:step]string:表示要进行切片的字符串。start:切片的起始位置索引(包含该索引对应的字符),如果不指定,默认为0。stop:切片的结束位置索引(不包含该索引对应的字符),如果不指定,默认为字符串的长度。step:切片的步长,如果不指定,默认为1,表示连续切片。0102字符串的索引与切片字符Hello,Python!正向索引0123456789101112反向索引-13-12-11-10-9-8-7-6-5-4-3-2-1字符串的连接与复制字符串的连接方法1:使用“+”运算符方法2:使用str.join(iterable)方法
字符串的复制使用“*”运算符来实现字符串的复制0102———————————————————>>>words=["Hello","World"]>>>result="".join(words)
#使用空格连接列表word中的字符串数据>>>print(result)
HelloWorld——————————————————————————————————————>>>s="Python">>>result=s*3>>>print(result)PythonPythonPython
———————————————————字符串常用函数和处理方法表7字符串处理函数和方法(部分)函数或方法说明示例len(str)返回字符串str的长度>>>s="Hello,World!">>>len(s)13chr(i)返回Unicode码i对应的字符(0<=i<=0x10FFFF,即0<=i<=1,114,111)>>>chr(65)‘A’ord(c)返回字符c对应的Unicode码>>>ord(‘A’)65str.count(sub)返回子字符串sub在字符串str中出现的次数>>>s="Hello,World!">>>print(s.count("o"))2str.upper()将字符串str转换为大写>>>s="Hello,World!">>>print(s.upper())HELLO,WORLD!str.lower()将字符串str转换为小写>>>s="Hello,World!">>>print(s.lower())hello,world!str.capitalize()将字符串str的第一个字符大写,其余字符小写>>>s="helloworld">>>print(s.capitalize())HelloworldStr.title()将字符串str每个单词的首字母大写>>>s="helloworld">>>print(s.title())HelloWorldstr.split(sep)根据分隔符sep将字符串str分割成列表>>>s="apple,banana,orange">>>fruits=s.split(",")>>>print(fruits)['apple','banana','orange']str.join(iterable)将可迭代对象(如列表)中的字符串str用当前字符串连接起来>>>fruits=["apple","banana","orange"]>>>s=";".join(fruits)>>>print(s)apple;banana;orangestr.find(sub)返回子字符串sub在字符串str中第一次出现的索引,如果未找到则返回-1>>>s="Hello,World!">>>print(s.find("o"))4>>>print(s.find("Python"))-1str.rfind(sub)返回子字符串sub在字符串str中最后一次出现的索引,如果未找到则返回-1>>>s="Hello,World!">>>print(s.rfind("o"))8>>>print(s.find("D"))-1字符串的格式化处理%格式化:使用格式说明符来指定变量的类型和格式语法:
"格式化字符串"%(值1,值2,...)常用格式说明符号有:%s、%d、%f、%x、%g等。例如:
name="Python";age=36;text="%s今年%d岁。"%(name,age);print(text)#输出:Python今年36岁。%格式化是Python2和早期Python3中的主要字符串格式化方法。01str.format()方法:通过占位符{}来指定变量的插入位置语法:
"格式化字符串".format(值1,值2,...)
在{}中不指定索引时,变量会按默认顺序从左至右插入。例如:name="Python";age=36;text="{}今年{}岁。".format(name,age);print(text)#输出:Python今年36岁。02f-string:通过在字符串前加上字母f或F来标识,并在字符串内部使用花括号{}包裹变量或表达式语法:
f"格式化字符串"
例如:name="Python";age=36;text=f"{name}今年{age}岁。"#输出:Python今年36岁。03字符串的格式化处理在str.format()和f-string中,可以使用格式控制标记来控制输出的格式,这些标记都是可选的,也可以组合使用。整数:填充对齐宽度,.精度类型参数序号引导符号填充字符(缺省时默认为空格)<(左对齐,默认选项)>(右对齐)^(居中对齐)输出宽度数字千位分隔符浮点数小数位数或字符串最大输出长度c:Unicode字符d(默认选项):十进制b/o/x:二/八/十六进制e/E:浮点数指数形式f/F:浮点数标准形式g/G:根据值的大小自动选浮点数标准形式或指数形式%:浮点数的百分数形式——————————————————————————————————>>>print("{}".format(123))
或
>>>print(f”{123})#左对齐,以十进制形式输出#输出:123>>>print("{:=^10o}".format(123))
或
>>>print(f”{123:=^10o”}#居中对齐,以八进制、宽度为10、填充字符为“=”形式输出#输出:===173====>>>print("{:,.2f}".format(123456.789))
>>>print(f"{123456.789:,.2f}")#以千位分隔符分隔、保留两位小数的浮点数标准形式输出#输出:123,456.79——————————————————————————————————04time库和random库time库time是Python中用于处理时间的标准库,提供了获取当前时间、时间格式化、时间延迟等功能。表9time库常用函数函数名描述示例time.time()返回当前时间的时间戳(从1970年1月1日00:00:00UTC开始的秒数)>>>time.time()1738395899.3874104time.sleep(seconds)暂停程序执行指定的秒数>>>time.sleep(2)#暂停2秒time.localtime([seconds])将时间戳转换为本地时间的结构化时间(struct_time对象),如果不传入参数,则默认使用当前时间。>>>time.localtime()time.struct_time(tm_year=2025,tm_mon=2,tm_mday=1,...)>>>time.localtime().tm_year2025time.strftime(format[,t])将时间格式化为字符串(format是格式化字符串)>>>time.strftime("%Y-%m-%d%H:%M:%S")'2025-02-0116:07:48'time.strptime(string,format)将字符串解析为struct_time对象>>>time.strptime("2025-02-01","%Y-%m-%d")time.struct_time(tm_year=2025,tm_mon=2,tm_mday=1,...)表10time
库时间格式化符号符号描述示例%Y四位数的年份(如2023)>>>importtime>>>time.strftime("%Y-%m-%d%H:%M:%S")'2025-02-0116:07:48'%m两位数的月份(01到12)%d两位数的日期(01到31)%H两位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年监理工程师之水利工程目标控制综合提升测试卷及参考答案详解(轻巧夺冠)
- 2026年大学材料现代分析方法期末综合练习含答案详解AB卷
- 2026年招标师《项目管理与招标采购》提分评估复习及参考答案详解(基础题)
- 2026年材料员之材料员专业管理实务试卷附答案详解【达标题】
- 2026浙江温州医科大学附属第一医院泌尿外科(男性科)康复技师招聘1人备考题库含答案详解ab卷
- 2025年县乡教师选调考试《教育学》通关试卷提供答案解析含答案详解(考试直接用)
- 2026四川成都市新都区总工会工会社会工作者招聘3人考试备考题库及答案解析
- 2025年县乡教师选调考试《教育学》综合提升测试卷及参考答案详解(基础题)
- 2026广东省农业科学院作物研究所招聘科研辅助人员1人考试参考题库及答案解析
- 2026年北京市保障性住房建设投资中心校园招聘笔试参考题库及答案解析
- 人教版2019高中英语选择性必修四(课文语法填空)
- 光伏场区工程总承包EPC招标文件
- 资金计划编制流程
- 2024年杭州市临空建设投资集团有限公司招聘笔试参考题库附带答案详解
- 路基工程防护施工培训课件
- 江阴职业技术学院单招《语文》考试参考题库(含答案)
- ROHS-2.0培训教材资料
- 7.2万有引力定律说课课件
- 建筑工程绿色施工评价标准概述(PPT 90张)
- GB/T 33588.2-2020雷电防护系统部件(LPSC)第2部分:接闪器、引下线和接地极的要求
- GB/T 29039-2012钢制采暖散热器
评论
0/150
提交评论