Python数据类型(一):数值布尔类型
来源:互联网 发布:网络新兴职业 编辑:程序博客网 时间:2024/06/10 01:22
Python简介
Python虽然是一个脚本语言,但也是一个完全面向对象的语言.由于它设计之初把易用性做为非常重要的一个考量标准,所以用起来非常简洁,优美.
C++是静态强类型语言,而Python是动态强类型语言.由于是动态语言,所以变量的类型不是用关键字显式指定,而是在运行时根据赋给它的值动态判断出来的.
另外Python也跟C++一样同时支持结构化编程和面向对象编程两种范式.
学一门新语言按江湖传统一般要先整个hello world出来.
在Python 2.7及以下版本是这样print "hello world"但在Python 3.3中是这样print("hello world") 然后保存成hello.py文件中.如果在linux中在命令行直接敲python /home/arwen/hello.py 就行了.Linux一般都有自带了Python的解释器.在windows上有个集成开发环境IDLE,打开源文件后按F5就可以运行了.
python 3.3没有向后兼容低版本的语言,觉得这是个问题.
基本数据类型
如果按我们的常规思维,一个程序语言中一般会有跟数值,字符串,布尔类型相关的类型.Python中也同样有这三种类型.
1、数值类型
1.1、整型
>>> large_num = 2**1000>>> print large_num10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069376
整型的八进制、十六进制
一般我们都用十进制来表示整型数值,有些特殊情况你可能也会用八进制、十六进制。
>>> eight_val = 011 #数字0开头>>> sixteen_val = 0x11 #数字0加字母x开头>>> print eight_val , sixteen_val9 17
1.2、浮点类型
C++的浮点有float , double,python也是只一种。
浮点数相等判断
例子1:
>>> one = 10.05 + 0.05>>> two = 10.00 + 0.1>>> print one, two10.1 10.1>>> print one == twoFalse
例子2:
>>> one = 1.05 + 0.05>>> two = 1.00 + 0.1>>> print one, two1.1 1.1>>> print one == twoTrue
看到这两个例子你肯定会想不通,完全一样的结构,只是变量值变动了下,但结果却不同。原因是浮点数在机器上的表示比较复杂跟整型很不一样,上面的例子应该是浮点在内存中存储的时候有空位补齐导致的。
但是我们也不用纠结这个,实际上在所有编程语言中都有浮点数相等判断的问题,所以一般都是要避免对浮点做相等判断,推荐的方法都两数相减去然会跟一个比较小的数对比。
比如 if one - two < 0.000000001 就认为one = two
浮点数截断
有时浮点数太长,我们可能希望截断。一般有2大种截断需求:只保留整数、保留指定位数的小数。
只保留整数
只保留整数小数全部舍弃
>>> print int(3.8), int(3.1)3 3
保留整数并且四舍五入
>>> print round(3.8), round(3.1)4.0 3.0
保留整数向上取整
>>> import math>>> print math.ceil(3.8), math.ceil(3.1)4.0 4.0
保留整数向下取整
>>> import math>>> print math.floor(3.8), math.floor(3.1)3.0 3.0
保留小数
指定小数位数四舍五入
>>> print round(3.11, 1) , round(3.18, 1)3.1 3.2
指定小数2位向下取整
>>> import math>>> num = 3.1415>>> num = num*100>>> print math.floor(num)/1003.14
指定小数2位向上取整
>>> import math>>> num = 3.1415>>> num = num*100>>> print math.ceil(num)/1003.15
1.3、复数
python里面还有个比较少见的复数类型,一般只有些专业的数学计算里才用到
>>> one = 3 + 4j>>> two = 4 + 5j>>> print one*two (-8+31j)
2、布尔类型
python的布尔类型跟C++基本一样.不过首字母大写True,False其中True是数值1,False是数值0.然后也是所有非0值都当True处理.
不过还有些跟C++不一样的地方,就是空字符串,None,空列表、空元组、空字典也都当False处理。
python里面的与或没有用&&、||、~这样的字符表示,而是用英文and 、or、not表示,比如
print True + 1print False + 1if '' or None or [] or () or {}: print 'check True'else: print 'check False'if (not '') and (not None) and (not []) and (not ()) and (not {}): print 'check True'else: print 'check False'#结果21check Falsecheck True
- Python数据类型(一):数值布尔类型
- Python数据类型——数值类型
- matlab数据类型(数值类型)
- Python数据类型(二):字符串类型一
- python<一> python 简介及数值类型
- Python基础入门(九)- 布尔类型
- 布尔类型判断-python
- python 布尔类型
- Python中的布尔类型
- Python中布尔类型
- Python中的布尔类型
- Python中布尔类型
- Python中布尔类型
- Python中布尔类型
- Python (布尔类型计算)
- 十二、基本数据类型-布尔类型
- python 学习笔记(2)数据类型1 (bool型, 数值类型,lists列表类型)
- Java的基本数据类型-布尔类型
- static
- WPF Converter 根据性别显示图片
- cocos2dx移植android问题汇总。
- 转 嵌入式Linux内核时钟初始化问题
- 虚函数
- Python数据类型(一):数值布尔类型
- java MD5加密
- 周总结
- php图片水印代码一例
- <<编程之美>>之中国象棋将帅问题
- [Linux] linux下/dev/zero和/dev/null的意义和使用
- hdu1850 (尼姆博异,求先手能赢时最开始有多少种取法)
- L1 L2范数 概念
- POJ-2456-Aggressive cows