美文网首页
python变量类型

python变量类型

作者: ylonge | 来源:发表于2017-11-25 23:14 被阅读0次

字符串类型

字符串可以使用多种语法表示:

# 单引号
' string '
# 双引号
" string "
# 省略转义符\
r' string '
# 多行字符
''' string
string '''
# 字符串拼接
print('string1' + 'string2')

python支持中文字符串,使用语法:

u'中文\n'
ur'中文'
u'''中文
中文'''

当python编译中文字符串出错时,可能是因为python代码保存编码格式错误,可以在文件首行添加:

# -*- coding: utf-8 -*-

字符串可以通过%和%s进行格式化:

string = ['the age of %s is %s' % (name, age)]

Bool类型

取值True/False,并将0 ' ' None视为False,将其他数值和非空字符串视为True
运算符号:

  • 与--and
  • 或--or
  • 非--not

集合类型

list列表类型

list中的元素类型不要求是同一种数据类型,表示为:

# 空列表
list = []
# 多元素列表
list = ['ylonge', 100, true]

list元素索引

list列表变量的元素通过编号索引,表示为:

# 正序索引的编号从0开始
list[0]
# 倒序索引的编号从-1开始
list[-1]

向list中附加和插入元素

元素添加的语法:

#在list尾部附加新元素
list.append(elem)
#在list中idx编号位置插入新元素
list.insert(idx, 'paul')

删除list中元素

# 删除list末尾元素并输出该元素
list.pop()
# 删除idx编号位置的元素并输出该元素
list.pop(2)

替换list中元素

# 直接对idx位置元素赋值以完成替换
list[idx] = 'yu'

tuple类型

tuple类型变量存储列表元素,与list不同的是,tuple变量经初始化后不能修改元素,只能访问元素:

# 空tuple
tuple = ()
# 单元素,为了避免圆括号被视为算术符号,多加一个逗号
tuple = (1,)
# 多元素tuple
tuple = ('yu', 'li', 200)

尽管tuple指向的元素不可变,但是被指向的元素指向的内容是可变的,类似于指针本身不可变,但是指针指向的元素是可变的。

dict查找表

dict变量可以建立索引key和索引值value,表示为:

dict = {
    # 通过key:value建立索引关系
    'key1' : val1,
    'key2' : val2,
    'key3' : val3
}

dict有几个特点:

  • dict的优点是元素索引速度快,缺点是占用内存大;list的优点是占用内存小,元素索引速度慢。
  • dict存储的元素是无序的。
  • dict的key不能重复且值不可变。

访问dict元素

# 通过key访问value
if 'key1' in dict :
    print(dict['key1'])
# 通过get(key)访问value,如果key不存在,get()返回None
print( dict.get('key2') )
# 通过for循环遍历key
for key in dict :
    print key

添加或修改dict元素

# 如果key不存在,则添加元素
dict['key4'] = val4

# 如果key存在,则修改value
dict['key2'] = val5

set类型

set记录一组不重复且无序的元素,表示为:

st = set(['a', 'b', 'c'])

set类型变量的特点:

  • 当set被赋予重复元素时,set会自动删除重复元素。
  • set中的元素不能被索引访问,可以通过in检查元素是否存在;但是可以通过遍历访问,不过元素的顺序是不固定的。
  • set中元素的索引速度快。
  • set中元素不可变。
  • set中元素是无序存储的。
  • set可以用于检查变量取值范围的查表验证。

更新set

set中的元素不能被修改,但是可以删除元素或增加元素。

# 使用add()添加元素,但set会自动忽略已有元素
st.add('d')
# 使用remove()删除元素,如果元素不存在,则报错。
st.remove('d')

## len访问集合长度
```python
len(list)
len(tuple)
len(dict)

集合的切片功能

当获取list\tuple\string的部分连续元素时,可以使用slice切片的方法,类似于matlab的数组操作:

L = [1,2,3,4]
# 取编号为a~b的元素,要求a < b,无论正负
L[a:(b+1)] # 编号为b+1的元素不被获取
L[:(b+1)] # 当a=0时,可以省略起始项
# 取从头到尾的元素
L[:]
# 从a~b隔s个元素取一个元素
L[a:(b+1):s]

切片操作会将元素拷贝到新的list\tuple中。

相关文章

网友评论

      本文标题:python变量类型

      本文链接:https://www.haomeiwen.com/subject/mjehbxtx.html