一、python中的数据类型:
python中的变量:变量就是对内存地址空间的一个引用
1、整型、浮点型,字符串型,bool型
整型:
>>> a = 1
>>> print(a)
1
浮点型:浮点数收到17位有效数字的限制
>>> b = 1.2
>>> print(b)
1.2
字符串型:
>>> c = 'westos'
>>> print(c)
westos
>>> c = "what's"
>>> print(c)
what's
bool型--非0即真
bool型(只有两个值:True False 非0即真)
>>> a = 1
>>> bool(a)
True
>>> bool(0)
False
>>> bool('')
False
>>> bool(' ')
True
>>> bool('redhat')
True
2、查看变量的类型
>>> type(a)
<class 'int'>
>>> type(b)
<class 'float'>
3、数据类型之间的转换
函数 | 描述 |
---|---|
int(x) | 将x转换为一个整数 |
long(x) | 将x转换为一个长整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个序列 (key,value)元组。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
unichr(x) | 将一个整数转换为Unicode字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
4、在内存中删除一个变量
del 变量
python的格式化输出
5、格式化输出
%s:表示字符串 %d:表示整型 %f:表示浮点数
- 浮点型,小数点后默认保留6位
- 整数的占位:不够的位数 前面补0
>>> a=1
>>> print('%.5d' %a)
00001
- 百分号的实现
>>> scale = 0.1
>>> print('数据的比例是:%.2f%%' %(scale * 100))
数据的比例是:10.00%
二、python的输入与输出
1、python的输入
python3.x
input():接收任意数据类型
python3.x中没有raw_input()
>>> a=input('输入一个数字:')
输入一个数字:100
>>> a
'100'
从上边示例得出,input每次输入都会有回显,那么在输入密码时不希望回显,该怎么办呢?
调用getpass模块使得输入内容不回显
>>> import getpass #注意:该模块只能在终端下使用,不可以在pycharm使用
>>> num = getpass.getpass('请输入密码:')
# 请输入密码:
>>>print(num)
123
python2.x
input(): 只支持数值输入
raw_input():数值和字符串
input()
>>>input('Num:')
Num:2
2
>>> input('Num:')
Num:1.2
1.2
raw_input()
>>> raw_input('Num:')
Num:1,2
'1,2'
>>> raw_input('Num:')
Num:redhat
'redhat'
>>>
2、类型转换,以及查看类型
注意注意 如果接收到的数值要进行比较的时候,一定要转换为同一种类型
int(input("num:")) 将input转换成整型
三、python2.x和python3.x的区别
1、相除的区别:
python2.x相除时,整数除以整数就是整数,有浮点数,相除才会显示浮点数
python3.x相除时,自动识别浮点数与整型
2、取整,整除
>>> 5//2
2
3、编码
Python3
的效率略低于Python2
,但是优化空间很大;Python3
默认使用的是UTF-8
编码,命名空间更加广阔;- 语法
Python2
使用<>
表示不等于,Python3
使用的是!=
表示不等于;
>>> 3<>2
True
Python3
加入了as
和with
以及True False None
等关键字;- 对于整除需要使用
//
Python3
去除了print
语句,加入了print()
函数;Python3
去除了row_input
语句,加入了input()
函数;- 添加了新的
super()
,可以不进行参数传递; - 改变了顺序操作符的行为,在进行不同类型的数据比较时,不再进行数据类型的自动转换;
- 对于
8
进制的转换,必须使用0o
来进行引导; - 数据类型
Python2
使用的是8-bit
字符串存储,Python3
使用的是16-bit
位进行存储,并且字符串只支持str
一种类型;Python3
去除了long
只有一种整形,就是long
,并且新增了Bytes
类型,对应于2.x
版本的八位串,并且支持str<-->bytes
使用.encode()
以及.decode()
进行转换;- 面向对象上面引入了基类的概念;