python 随笔(数据类型)

约定(规范)
  1. 形式常量: python中实际上不存在常量,约定所有字母大写表示常量
  2. 每个模块最上面需要写一段注释 ''' '''
  3. 程序最后换行
  4. 变量和运算符之间需要空一格
  5. 代码需要四个空格,一般的IDE工具可以使用tab代替
  6. 一行最大的字符数80,使用\换行

本文基于python3 ,跟python2可能有写差别

基本数据类型

1. Number ( 数字)

整数(int)

python3中没有long类型。

二进制:0b10101    ----java----0b
八进制: 0o12712      ----java---0
十六进制:0x576E    ----java---0x

进制的转换:

bin(0xF232)
oct(0b101)
int(0b10101)
hex(0o6712)
浮点数(float)
.12345e1   ----1.2345
.1234e-1   ----0.01234
bool

只有两个值 True,False

bool('')   ----False
bool([])   ----False
bool({})   -----False
bool(())   ------False
bool(0)    ------False
bool(None)  ------False

对空值使用bool函数,返回False。数字0返回False,其余数字返回True

复数类型(complex )

实数+虚数j

2+3j

2.str

引号: 引号"单引号 ' 三引号''' 三引号"""

字符串常用方法

count() --统计     ----"hello world ".count("ll")  ---1
split()  --分割    ----"hello world ".split("")    ---["hello","world",""]
[]       --切片   
len()  --获取字符串长度    ----len("hello world")  ---11
strip()  --去除前后xx,默认除去空格    -----"hello world".strip("d") -- "hello worl"
lstrip()   lstrip()

replace() --字符串替代   -----"hello world".replace(" ","")---"helloworld"
find()   查找索引,找不到返回-1          ------"hello world".find("h")   ----0

str切片

#start索引从0开始,字串截取[start,end) 前闭后开

# 正向
"hello world"[1] ---"e"
"hello world"[1:] ---"ello world"
"hello world"[1:6] ---"ello "

#反向
"hello world"[-1] ---"d"
"hello world"[:-1] ---"hello worl"
"hello world"[-2:] ---"ld"

+,*操作

"123"+"456"    -------->"123456"
"*"*10         --------->"**********"

3.元组(tuple)

元组定义以后不可变(immutable不可变对象),不能执行删除和追加操作。但是和str相似,支持 + *操作

扫描二维码关注公众号,回复: 3374529 查看本文章

常用方法:

index(obj,[start,[stop]])    //数据不存在抛出异常  ValueError: tuple.index(x): x not in tuple
count(obj)

注意:

type((1))   //<class 'int'>
//定义一个只包含一个元素的tuple
type((1,)) //<class 'tuple'>

+, * 操作

(1,2)*2     ----------->(1,2,1,2)
(1,2)+(3,4)  ----------->(1,2,3,4)

4.列表(list)

列表元素可变。列表对 + 和 * 的操作符与字符串相似。

len(list)  //列表长度
max(list)  //列表中元素最大值
min(list)  //列表中元素最小值

列表常用方法

clear()    清空列表
copy()     拷贝列表
count()     统计元素出现次数

pop(index)  删除指定索引处的值,默认删除最后一个元素,并返回值 ,如果列表为空或者索引过界则抛出IndexError
append()    追加元素
reverse()  反转元素
insert(index,obj) 指定索引插入元素

index(obj)  某个元素的索引,元素必须存在,否则抛出valueError异常
remove(obj) 移除第一个匹配元素,该元素必须存在列表中,否则会抛出异常"ValueError, list.remove(x), x not in list"  

dict

字典类型(mutable),存放键值对。

  • 键必须是唯一的,但值则不必。
  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
字典增删该查
dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}

1.访问字段元素


print("name: ",dict['Name'])   #  key不存在时,抛出异常KeyError
print("age:",dict.get('Age'))     # key不存在时返回None
print("age:",dict.get('Age','20'))  # key不存在时返回默认值

建议使用get方式访问,因为get方式key不存在时不会抛出异常。

2.修改字典

dict['age'] = 40  # age键不存在,所以新增了一个元素  age : 40 
dict['Age'] = 20     #   修改元素
dict.update(**{'addr':'xxx','Age':30}) # 新增或者修改字段

print(dict.get('age'))
print(dict.get('addr'))
print(dict.get('Age'))
---------------------------
40
'xxx'
30

3.删除字典元素
能删单一的元素也能清空字典

del dict['Name'] # 删除键 'Name'
dict.clear()     # 清空字典
del dict         # 删除字典
len(dict)   # 计算字典元素个数,即键的总数
str(dict)   # 输出字典,以可打印的字符串表示。
type(variable) # 返回输入的变量类型,如果变量是字典就返回字典类型。
values() # 返回一个迭代器,可以使用 list() 来转换为列表
keys() # 返回一个迭代器,可以使用 list() 来转换为列表
items() # 以列表返回可遍历的(键, 值) 元组数组

这些基本类型中,数字类型,str和tuple是不可变类型。list,dict,set是可变类型

猜你喜欢

转载自blog.csdn.net/yamadeee/article/details/81458608