零基础学Python:一文看懂数字和字符串
导读:数据类型是构成编程语言语法的基础 。 不同的编程语言有不同的数据类型 , 但都具有常用的几种数据类型 。 Python有几种内置的数据类型——数字、字符串、元组、列表和字典 。 本文将重点介绍数字和字符串 。
作者:黄传禄 张克强 赵越
来源:华章科技
文章插图
01 数字Python3的数字类型分为整型、浮点型、布尔型、分数类型、复数类型 。 使用Python编写程序时 , 不需要声明变量的类型 。 由Python内置的基本数据类型来管理变量 , 在程序的后台实现数值与类型的关联 , 以及类型转换等操作 。
Python与其他高级语言定义变量的方式及内部原理有很大的不同 。 在C或Java中 , 定义一个整型的变量 , 可以采用如下方式表示:
int i = 1;
在Python中 , 定义整型变量的表达方式更简练 。
i = 1
Python根据变量的值自动判断变量的类型 , 程序员不需要关心变量究竟是什么类型 , 只要知道创建的变量中存放了一个数 , 以后的工作只是对这个数值进行操作 , Python会对这个数的生命周期负责 。
更重要的一点是 , C或Java只是创建了一个int型的普通变量;而Python创建的是一个整型对象 , 并且Python自动完成了整型对象的创建工作 , 不再需要通过构造函数创建 。 Python内部没有普通类型 , 任何类型都是对象 。 如果C或Java需要修改变量i的值 , 只要重新赋值即可;而Python并不能修改对象i的值 。 例如:
1#下面的两个i并不是同一个对象?2i = 1?3print(id(i))?4i = 2?5print (id(i))
如果需要查看变量的类型 , 可以使用Python定义的type类 。 type是__builtin__模块的一个类 , 该类能返回变量的类型或创建一个新的类型 。 __builtin__模块是Python的内联模块 , 内联模块不需要import语句 , 由Python解释器自动导入 。 后面还会接触到更多内联模块的类和函数 。
下面这段代码返回了各种变量的类型 。
1#整型? 2i = 1? 3print( type(i))? 4#长整型? 5l = 999999999999999999990# Python何时将int转为float跟操作系统位数相关? 6print type(l)? 7#浮点型? 8f = 1.2? 9 print( type(f))?10#布尔型?11b = True?12print (type(b))
【代码说明】
- 第3行代码输出结果:
- 第6行代码输出结果:
- 第9行代码输出结果:
- 第12行代码输出结果:
1#复数类型?2c = 7 + 8j?3print (type(c))
第3行代码输出结果:注意:复数类型的写法与数学中的写法相同 , 如果写为c=7+8i , Python不能识别其中的“i” , 将提示语法错误 。
02 字符串在Python中有3种表示字符串的方式——单引号、双引号、三引号 。 单引号和双引号的作用是一样的 , 对于不同的程序员可以根据自己的习惯使用单引号或双引号 。 PHP程序员可能更习惯使用单引号表示字符串 , C、Java程序员则习惯使用双引号表示字符串 。 下面这段代码中单引号和双引号的使用是等价的 。
1# 单引号和双引号的使用是等价的?2str = "hello world!"# 定义字符串变量str并赋值?3print (str)?4str = 'hello world!'?5print (str)
【代码说明】第3行代码输出结果:
hello world!
第5行代码输出结果:hello world!
三引号的用法是Python特别的语法 , 三引号中可以输入单引号、双引号或换行等字符 。1# 三引号的用法?2str = '''he say "hello world!"'''?3print( str)
【代码说明】第3行代码的三引号中带有双引号 , 双引号也会被输出 。 输出结果:
he say "hello world!"
三引号的另一种用法是制作文档字符串 。 Python的每个对象都有一个属性__doc__ , 这个属性用于描述该对象的作用 。1# 三引号制作doc文档?2class Hello:?3'''hello class'''?4def printHello():?5'''print hello world'''?6print ("hello world!")?7print( Hello.__doc__)?8print (Hello.printHello.__doc__)
【代码说明】- 第2行代码定义了一个名为Hello的类 。
- 第3行是对Hello类的描述 , 该字符串将被存放在类的__doc__属性中 。
- 第4行代码定义了一个方法printHello() 。
- 第5行代码描述了printHello() , 并把字符串存放在该函数的__doc__属性中 。
- 第6行代码输出结果:
hello world!
- 第7行代码输出Hello的__doc__属性的内容 。 输出结果:
- 零部件|马瑞利发力电动产品,全球第七大零部件供应商在转型
- 互联网|苏宁跳出“零售商”重组互联网平台业务 融资60亿只是第一步
- 同轴心配合|用SolidWorks画一个直角传动,画四个零件就行
- 开发自|不妥协不追随 Member’s Mark升级背后的“山姆哲学”
- 计算机学科|机器视觉系统是什么
- 阿尔法|击败李世石的AI公司,又研发出生物版“阿尔法狗”:破解50年生物学难题
- 互联网|政企学界人士西安共议数字经济 产业互联网发展向“西”行
- 高学历|薇娅一夜带货53.2亿,少不了这支高学历团队!
- 教学|机器人教学的目标方案
- 体验|VR\/AR体验、3D打印、机器人“对决”……松江这所中学人工智能创新实验室真的赞