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的值。例如:
#下面的两个i并不是同一个对象
i = 1
print(id(i))
i = 2
print (id(i))
如果需要查看变量的类型,可以使用Python定义的type类。type是__builtin__模块的一个类,该类能返回变量的类型或创建一个新的类型。__builtin__模块是Python的内联模块,内联模块不需要import语句,由Python解释器自动导入。后面还会接触到更多内联模块的类和函数。
下面这段代码返回了各种变量的类型。
#整型
i = 1
print( type(i))
#长整型
l = 999999999999999999990 # Python何时将int转为float跟操作系统位数相关
print type(l)
#浮点型
f = 1.2
print( type(f))
#布尔型
b = True
print (type(b))
代码说明:
用Python来进行科学计算也很方便,因为Python内置了复数类型。Java、C#等高级语言则没有提供复数类型。
#复数类型
c = 7 + 8j
print (type(c))
第3行代码输出结果:
注意:复数类型的写法与数学中的写法相同,如果写为c=7+8i,Python不能识别其中的“i”将字符串转换为数字,将提示语法错误。
02 字符串
在Python中有3种表示字符串的方式——单引号、双引号、三引号。单引号和双引号的作用是一样的,对于不同的程序员可以根据自己的习惯使用单引号或双引号。PHP程序员可能更习惯使用单引号表示字符串,C、Java程序员则习惯使用双引号表示字符串。下面这段代码中单引号和双引号的使用是等价的。
# 单引号和双引号的使用是等价的
str = "hello world!" # 定义字符串变量str并赋值
print (str)
str = 'hello world!'
print (str)
代码说明:
第3行代码输出结果:
hello world!
第5行代码输出结果:
hello world!
三引号的用法是Python特别的语法,三引号中可以输入单引号、双引号或换行等字符。
# 三引号的用法
str = '''he say "hello world!"'''
print( str)
代码说明:
第3行代码的三引号中带有双引号,双引号也会被输出。输出结果:
he say "hello world!"
三引号的另一种用法是制作文档字符串。Python的每个对象都有一个属性__doc__,这个属性用于描述该对象的作用。
# 三引号制作doc文档
class Hello:
'''hello class'''
def printHello():
'''print hello world'''
print ("hello world!")
print( Hello.__doc__)
print (Hello.printHello.__doc__)
代码说明:
hello world!
hello class
print hello world
如果要输出含有特殊字符(单引号、双引号等)的字符串,需要使用转义字符。Python中转义字符为“”,和C、Java中的转义字符相同。转义操作只要在特殊字符的前面加上“”即可。下面这段代码说明了特殊字符的转义用法。
# 转义字符
str = 'he say:'hello world!''
print (str)
代码说明:
第2行代码中的单引号是特殊字符,需要在“'”前加上转义字符。第3行代码的输出结果:
he say:'hello world!'
使用双引号或三引号可以直接输出含有特殊字符的字符串,不需要使用转义字符。
# 直接输出特殊字符
str = "he say:'hello world!'"
print (str)
str = '''he say:'hello world!' '''
print (str)
代码说明:
he say:'hello world!'
SyntaxError: EOL while scanning single-quoted string
he say:'hello world!'
注意:输出的字符串中含有单引号,使用双引号表示字符串即可。相反,输出的字符串中含有双引号时,可使用单引号表示字符串。
关于作者:黄传禄,高级讲师、管理软件开发工程师、数据库库系统工程师、信息系统管理工程师。有10多年的一线教学经验和高端培训经验将字符串转换为数字,出版多部技术专著,获得多个软件著作权。
本文摘编自《零基础学Python》(第2版),经出版方授权发布。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。