python基础教程共60课-第17课类型转换
2015-12-09 15:59
423 查看
python基础教程共60课-第17课类型转换
【Python 第17课】 类型转换
python的几种最基本的数据类型,我们已经见过:
字符串
整数
小数(浮点数)
bool类型
python在定义一个变量时不需要给它限定类型。变量会根据赋给它的值,自动决定它的类型。你也可以在程序中,改变它的值,于是也就改变了它的类型。例如
a = 1
print a
a = 'hello'
print a
a = True
print a
变量a先后成为了整数、字符串、bool类型。
虽然类型可以随意改变,但当你对一个特定类型的变量进行操作时,如果这个操作与它的数据类型不匹配,就会产生错误。比如以下几行代码
print ‘Hello’+1
print ‘hello%d’ % '123'
程序运行时会报错。因为第一句里,字符串和整数不能相加;第二句里,%d需要的是一个整数,而'123'是字符串。
这种情况下,python提供了一些方法对数值进行类型转换:
int(x) #把x转换成整数
float(x) #把x转换成浮点数
str(x) #把x转换成字符串
bool(x) #把x转换成bool值
上述两个例子就可以写成:
print ‘Hello’+str(1)
print ‘hello%d’ % int('123')
以下等式的结果均为真:
int('123') == 123
float('3.3') == 3.3
str(111) == '111'
bool(0) == False
并不是所有的值都能做类型转换,比如int('abc')同样会报错,python没办法把它转成一个整数。
另外关于bool类型的转换,我们会专门再详细说明。大家可以先试试以下结果的值,自己摸索一下转换成bool类型的规律:
bool(-123) ##True
bool(0) ##False
bool('abc') ##True
bool('False') ##False
bool('') ##False
这个还真没搞明白!
【Python 第17课】 类型转换
python的几种最基本的数据类型,我们已经见过:
字符串
整数
小数(浮点数)
bool类型
python在定义一个变量时不需要给它限定类型。变量会根据赋给它的值,自动决定它的类型。你也可以在程序中,改变它的值,于是也就改变了它的类型。例如
a = 1
print a
a = 'hello'
print a
a = True
print a
变量a先后成为了整数、字符串、bool类型。
虽然类型可以随意改变,但当你对一个特定类型的变量进行操作时,如果这个操作与它的数据类型不匹配,就会产生错误。比如以下几行代码
print ‘Hello’+1
print ‘hello%d’ % '123'
程序运行时会报错。因为第一句里,字符串和整数不能相加;第二句里,%d需要的是一个整数,而'123'是字符串。
这种情况下,python提供了一些方法对数值进行类型转换:
int(x) #把x转换成整数
float(x) #把x转换成浮点数
str(x) #把x转换成字符串
bool(x) #把x转换成bool值
上述两个例子就可以写成:
print ‘Hello’+str(1)
print ‘hello%d’ % int('123')
以下等式的结果均为真:
int('123') == 123
float('3.3') == 3.3
str(111) == '111'
bool(0) == False
并不是所有的值都能做类型转换,比如int('abc')同样会报错,python没办法把它转成一个整数。
另外关于bool类型的转换,我们会专门再详细说明。大家可以先试试以下结果的值,自己摸索一下转换成bool类型的规律:
bool(-123) ##True
bool(0) ##False
bool('abc') ##True
bool('False') ##False
bool('') ##False
这个还真没搞明白!
相关文章推荐
- 【python】使用HTMLParser、cookielib抓取和解析网页、从HTML文档中提取链接、图像、文本、Cookies
- python基础教程共60课-第16课字符串格式化2
- python模块
- python使用函数默认值来实现函数静态变量的功能
- Python weatherforecast
- python一个发邮件的函数
- python基础教程共60课-第15课循环的嵌套
- python学习笔记之各种函数各种库
- python tkinter 文件MD5校验工具
- 在Python中新建一个instance有几种办法?
- [python基础]关于包,类,模块的那些事儿
- Python爬取返利网(今日值得买)数据
- python中的全局变量
- python基础教程共60课-第14课字符串格式化
- python中文翻译资料
- 十分钟搭建Windows版Python开发环境(Eclipse+PyDev)
- Python读写文件
- Python模块——bisect
- python基础教程共60课-第13课字符串
- 零基础入门学习Python(5):列表