侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

计算机二级python学习教程(3) python语言基本数据类型

Python  /  管理员 发布于 7年前   267

本文继续计算机二级python教程的学习,之前已经学习过了计算机二级python学习教程(1) 、计算机二级python学习教程(2)

3.1 数字类型

数字类型:整数类型、浮点数类型、复数类型。

整数类型:十进制、二进制、八进制和十六进制。

#不同进制的整数之间可以直接运算>>> 0x3F2/10101.0>>> (0x3F2+1010)/0o17622.0

浮点数类型:必须带有小数部分,小数部分可以是0,例如1010.0。表示方法有一般表示(只有十进制)和科学计数法。数值范围和小数精度受不同计算机系统的限制,一般认为没有范围限制。有不确定尾数。

#科学计数法 格式:<a>e<b> = a*10的b次方 (或E)>>> print(1.01e3)1010.0>>> print(-1.01E-3)-0.00101 #浮点数不确定尾数>>> 0.1 + 0.20.30000000000000004>>> 0.1 + 0.2 == 0.3False #使用round()函数四舍五入 限定保留尾数 去掉不确定尾数>>> round(0.1 + 0.2,3) == 0.3True

复数类型:含有虚数单位(j)的数。可以看作是二元有序实数对(a, b),表示为:a + bj,a是实数部分,简称实部,b是虚数部分,简称虚部。当b为1时,1不能省略,1j表示复数,j表示Python程序中的一个变量。

#获得实数部分>>> (1.23e4+5.64e4j).real12300.0 #获得虚数部分>>> (1.23e4+5.64e4j).imag56400.0>>> 

3.2 数字类型的运算

9个基本的数值运算操作符:


>>> 2+57>>> 2-5-3>>> 2*510>>> 2/50.4>>> 2//50>>> 2%52>>> 5%21>>> -5-5>>> +55>>> 2**532

 整数和浮点数运算结果为浮点数,整数/整数结果为浮点数,整数或浮点数与复数运算结果为复数。

增强赋值操作符:+=、-=、*=、/=、//=、%=、**=

>>> x=3>>> x**=3 #等价于x = x**3>>> print(x)27

数值运算函数:

#绝对值>>> abs(-666)666 #返回二元组(x//y,x%y),即(整数商,除法余数)>>> divmod(10,3)(3, 1) #x的y次幂,即x**y>>> pow(3,3)27 #x的y次幂%z (模运算与幂运算同时进行 速度更快)>>> pow(55,1999999,10000)4375 #四舍五入>>> round(6.6)7 #保留小数尾数四舍五入>>> round(3.1415926,3)3.142 #取最大值>>> max(1,2,3,4,5,0.1)5 #取最小值>>> min(1,2,3,4,5,0.1)0.1

3.3 字符串类型及格式化

单行字符串可以由一对单引号(')或双引号(")作为边界来表示,单引号和双引号作用相同。

多行字符串可以由一对三单引号(''')或三双引号(""")作为边界来表示,两者作用相同。

>>> print('这是"单行字符串"')这是"单行字符串" >>> print("这是'单行字符串'")这是'单行字符串' >>>print("""这是'多行字符串'的第一行这是'多行字符串'的第二行""")这是'多行字符串'的第一行这是'多行字符串'的第二行 >>>print('''这是"多行字符串"的第一行这是"多行字符串"的第二行''')这是"多行字符串"的第一行这是"多行字符串"的第二行

语言转义符: \ 。例如:\n表示换行、\\表示反斜杠、\'表示单引号、\"表示双引号、\t表示制表符(TAB)等。

>>> print("既需要'单引号'又需要\"双引号\"")既需要'单引号'又需要"双引号"

字符串的索引:

>>> "青青子衿,悠悠我心。"[-5]'悠' >>> s = "青青子衿,悠悠我心。">>> s[5]'悠'

字符串的切片:

>>>"青青子衿,悠悠我心。"[8:4]'' >>>"青青子衿,悠悠我心。"[:4]'青青子衿' >>>"青青子衿,悠悠我心。"[5:]'悠悠我心。' >>>print("青青子衿,悠悠我心。"[5:])悠悠我心。

format()方法使用:"包含{ }的字符串模板".format(逗号分隔的参数1,2,3...)   参数从0开始编号,{ }代表槽

>>> "{}曰:学而时习之,不亦{}。".format("孔子","说乎")'孔子曰:学而时习之,不亦说乎。>>> "{1}曰:学而时习之,不亦{0}。".format("说乎","孔子")'孔子曰:学而时习之,不亦说乎。'

format()方法中模板字符串的槽除了包括参数序号,还可以包括格式控制信息。{<参数序号>: <格式控制标记>}  

>>>s = "等级考试">>>"{:25}".format(s)  #左对齐,默认'等级考试   '>>>"{:^25}".format(s)  #居中对齐'  等级考试  ' >>>"{:>25}".format(s)  #右对齐'   等级考试' >>>"{:*^25}".format(s)  #居中对齐且填充*号'**********等级考试***********' >>>"{:+^25}".format(s)  #居中对齐且填充+号'++++++++++等级考试+++++++++++' >>>"{:十^25}".format(s) #居中对齐且填充汉字“十”'十十十十十十十十十十等级考试十十十十十十十十十十十' >>>"{:^1}".format(s)  #z指定宽度为1,不足变量s的宽度'等级考试' >>>"{:.2f}".format(12345.67890)'12345.68' >>>"{:>25.3f}".format(12345.67890)'  12345.679' >>>"{:.5}".format("全国计算机等级考试")'全国计算机' >>>"{:b},{:c},{:d},{:o},{:x},{:X}".format(425)'110101001,Ʃ,425,651,1a9,1A9' >>>"{:e},{:E},{:f},{:%}".format(3.14)'3.140000e+00,3.140000E+00,3.140000,314.000000%' >>>"{:.2e},{:.2E},{:.2f},{:.2%}".format(3.14) # 对比输出'3.14e+00,3.14E+00,3.14,314.00%' #常用的format()方法格式控制信息>>>"{:.2f}".format(3.1415926) # 输出小数点后两位'3.14' >>>"{:x}".format(1010)  # 输出整数的十六机制形式'3f2' >>>"{:.5}".format("这是一个很长的字符串") # 输出字符串的前5位'这是一个很' >>>"{:-^10}".format("PYTHON") # 居中并填充'--PYTHON--'

 3.4 字符串类型的操作

字符串操作符:

#连接两个字符串x与y>>> "PHP" + "是世界上最好的语言"'PHP是世界上最好的语言' #复制n次字符串x>>> "lws"*3'lwslwslws' #如果x是s的子串,返回True,否则返回False>>> name = "lws">>> l in name>>> "l" in nameTrue

字符串处理函数:

#返回字符串x的长度>>> len("lws")3 #返回任意类型x所对应的字符串形式>>> str(0x3f)'63' #返回Unicode编码x对应的单字符>>> chr(10000)'✐' #返回单字符x表示的Unicode编码>>> ord("和")21644 #返回整数x对应十六进制数的小写形式字符串>>> hex(1010)'0x3f2' #返回整数x对应八进制数的小写形式字符串>>> oct(-255)'-0o377'

字符串处理方法:采用<a>.func(x)形式调用。方法仅作用于前导对象<a>

#str.split(sep) 能够根据sep分隔字符串str,分割后的内容以列表类型返回。>>> "Python is an excellent language.".split()['Python', 'is', 'an', 'excellent', 'language.'] >>> "Python is an excellent language.".split('a')['Python is ', 'n excellent l', 'ngu', 'ge.'] #str.count(sub)方法返回字符串str中出现sub的次数,sub是一个字符串。>>>"Python is an excellent language.".count('a')3 #str.replace(old, new)方法将字符串str中出现的old字符串替换为new字符串,old和new的长度可以不同。>>>"Python is an excellent language.".replace('a', '#')'Python is #n excellent l#ngu#ge.' >>>"Python is an excellent language.".replace('Python', 'C')'C is an excellent language.' str.center(width, fillchar)方法返回长度为width的字符串,其中,str处于新字符串中心位置,两侧新增字符采用fillchar填充,当width小于字符串长度时,返回str。其中,fillchar是单个字符。>>>"Python".center(20, "=")'=======Python=======' >>>"Python".center(2, "=")'Python'

3.5 类型判断和类型间转换

Python语言提供type(x)函数对变量x进行类型判断,适用于任何数据类型。

n = eval(input('请输入一个数字:'))if type(n) == type(123):print("输入的数字是整数。")elif type(n) == type(11.3):print("输入的数字是浮点数。")else:print("无法判断输入类型。")

通过内置的数字类型转换函数转换:

#浮点数或字符串转换为整数>>> int(10.01)10 #整数或字符串转换为浮点数>>> float(10)10.0 #整数或浮点数转换为字符串>>> str(10.0)'10.0'

第三章结束

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    Python实现Linux监控的方法
    下一条:
    Python实现爬取亚马逊数据并打印出Excel文件操作示例
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客