Python 基本数据类型
概况
![](https://img2018.cnblogs.com/blog/1004725/201812/1004725-20181208225859584-705499200.jpg)
< 数字Number >
type(2/2) 结果是float
type(2//2) 结果是int
双斜杠是整除,只保留整数部分。
Python中表示不同进制:
python种要表示一个二进制必须在数字前面加“0b"
python种要表示一个八进制必须在数字前面加“0o"
python种要表示一个十六进制必须在数字前面加“0x"
bin() 将其他进制转换成二进制
int() 将其他进制转换成十进制
hex() 将其他进制转换成十六进制
oct() 将其他进制转换成八进制
bool 布尔类型属于Number类型大范围下。
bool(数字) 里面的数字只要非零,都是True,若是零,则为False
并不是只有数值才能和bool类型间进行转换
bool('abc') True
bool('') False
bool([1,2,3]) True
bool([]) False
bool({1,2,3}) True
bool({}) False
bool(None) False
Python中表示“复数” :数字后面跟个“j”
36j
复数少用,不过多关注
str字符串
1.单引号,双引号
2.三引号
三引号的作用是:营造多行字符串,先输入三引号 ,再输入多行字符串,最后再输入三引号。 三引号可以是三个单引号,也可以是三个双引号
注意:若是在IDLE中直接操作三引号,转义符是失效的。 若是放到print()中,转义符是生效的。
当一个字符串的前面加上个“R”(大小写都可以)后,这个字符串就不是一个普通字符串,而是原始字符串,所见即所得。
字符串可以乘以一个数字N,结果是重复这个字符N次
字符串可以相加,结果是两个字符串拼接
字符串不可变
< 组 >
Python中表示组的方式有很多种。
方式一:列表 list
[1,2,3,4,5]
["hello",1,3,"world",True] 可以装入多种数据类型
[1,2,3,4,5][-1] 和 [1,2,3,4,5][-1:0] 是不一样的,第一个结果是个数字,第二个结果是个列表
运算:
两个列表相加,结果集是两个列表融合为一个列表 [1,2,3,4,5]+[6,7,8]
列表相减会报错 [1,2,3,4,5]-[4,5]
列表乘以数字N,结果集是列表内容重复N次 [1,2,3,4,5]*3
方式二:元组 tuple 不可变
(1,2,3,4,5)
(1,'-1',True,'hello')
访问方式:(1,2,3,4,5)[0] (1,2,3,4,5)[0:2]
运算:(1,2,3,4,5)+(6,7,8) (1,2,3,4,5)*3
注意:(1) 是个整形int ('hello')是个字符型str,可使用type((1)) ,type(('hello'))查看
原因:括号,既可以表示元组也可以表示数学运算符,所以有冲突,比如 (1+1)*2 = 4。所以(1)被优先判断为是个运算符。python中若定义一个数字的元组,这样表示(1,)。
表示一个元素都没有的元组:()
总结: str list tuple 都是序列,就是有顺序,都被分配有序号
方式三:集合 set
{1,2,3,4,5}
type({1,2,3,4,5})
1.集合是无序的,若想通过下标来获取值,就报错:{1,2,3,4}[0]
切片操作也报错
2.集合不重复
{1,1,2,2,3,3}
3.集合的操作
{1,2,3,4} - {2,3} 差集
{1,2,3,4}&{3,4} 交集
{1,2,3,4,5} | {1,2,8,9} 并集
4.定义一个空的集合
不能用{}来表示,而要用set()
type({}) 这表示的是dict
type(set())
len(set())
方式四:dict 字典
{1:'a',2:'b',3:'c'}
type({1:'a',2:'b',3:'c'})
不可使用下标来访问:{‘a’:'A','b':B,'c:C'}[3]
这个例外:{1:'a',2:'b',3:'c'}[3],这也不是下标来访问,是正好key值和所谓的“下标值”一样是数字类型
可以使用key来访问:{‘a’:'A','b':B,'c:C'}['c'] ,{1:'a',2:'b',3:'c'}[3]
不可有重复的KEY值。
Key的值不一定是字符串,且字符 1 和 数字1 是不会识别一样的:{1:'新月打击','1':'苍白之瀑','E':'月之降临'}
Value值可以是:str int float list set dict {1:'新月打击','1':'苍白之瀑','E':{'月之降临','月神冲刺'}}
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">