Python 变量类型

变量赋值

  1. Python 中的变量赋值不需要类型声明。
  2. 每个变量在使用前必须赋值,变量赋值以后该变量才会被创建。

多个变量赋值

允许同时为多个变量赋值。

a = b = c = 1
# 三个变量被分配到相同的内存空间上。
a, b, c = 1, 2, "john"
# a = 1,b = 2,c = "join"

标准数据类型

Python有五个标准的数据类型:

  1. Numbers(数字)
  2. String(字符串)
  3. List(列表)
  4. Tuple(元组)
  5. Dictionary(字典)

数字

不可改变的数据类型,(改变数字数据类型会分配一个新的对象)

创建

指定一个值时,Number对象就会被创建:

var1 = 1
var2 = 10

删除

使用 del 语句删除一些对象的引用。

del var1[,var2[,var3[....,varN]]]]

# 使用del语句删除单个或多个对象的引用。
del var
del var_a, var_b

数字类型:

  • int(有符号整型)
  • long(长整型[也可以代表八进制和十六进制])— Python使用 L 来显示长整型。
  • float(浮点型)
  • complex(复数) — 用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

注意:long 类型只存在于 Python2.X 版本中,在 2.2 以后的版本中,int 类型数据溢出后会自动转为long类型。在 Python3.X 版本中 long 类型被移除,使用 int 替代。

math 模块、cmath 模块

  1. math 模块提供了许多对浮点数的数学运算函数。
  2. cmath 模块包含了一些用于复数运算的函数。
  3. 要使用 math 或 cmath 函数必须先导入:import math

字符串

可以使用引号('")来创建字符串。

取值顺序

有两种取值顺序:

  • 从左到右索引默认0开始的,最大范围是字符串长度少1
  • 从右到左索引默认-1开始的,最大范围是字符串开头
 A  B  C  D  E  F
 0  1  2  3  4  5
-6 -5 -4 -3 -2 -1

访问字符串中的值:[头下标:尾下标] 截取

  1. 下标是从 0 开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
  2. [头下标:尾下标] 获取的子字符串包含头下标的字符,但不包含尾下标的字符。
  3. 加号(+)是字符串连接运算符,星号(*)是重复操作。
s = 'abcdef'
s[1:5] # = 'bcde' 

str = 'Hello World!'
 
print str           # 输出完整字符串
print str[0]        # 输出字符串中的第一个字符
print str[2:5]      # 输出字符串中第三个至第五个之间的字符串
print str[2:]       # 输出从第三个字符开始的字符串
print str * 2       # 输出字符串两次
print str + "TEST"  # 输出连接的字符串
# Hello World!
# H
# llo
# llo World!
# Hello World!Hello World!
# Hello World!TEST

运算符

下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:

操作符描述实例
  +  字符串连接a + b =‘HelloPython’
*重复输出字符串a * 2=‘HelloHello’
[]通过索引获取字符串中字符a[1]=‘e’
[ : ]截取字符串中的一部分a[1:4]=‘ell’
in成员运算符 - 如果字符串中包含给定的字符返回 True"H" in a =True
not in成员运算符 - 如果字符串中不包含给定的字符返回 True"M" not in aTrue
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print r'\n' =\n print R'\n' =\n
%格式字符串请看下一章节

格式化

用法:将一个值插入到一个有字符串格式符 %s 的字符串中。

print "My name is %s and weight is %d kg!" % ('Zara', 21) 
# My name is Zara and weight is 21 kg!

字符串格式化符号:

符号功能
%c格式化字符及其ASCII码
%s格式化字符串
%d格式化整数
%u格式化无符号整型
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数字,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e,用科学计数法格式化浮点数
%g%f和%e的简写
%G%f 和 %E 的简写
%p用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
<sp>在正数前面显示空格
#在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0显示的数字前面填充’0’而不是默认的空格
%‘%%‘输出一个单一的’%’
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

内建函数

实现了string模块的大部分方法。

序列

  1. 序列是Python中最基本的数据结构。
  2. Python有6个序列的内置类型,最常见的是列表和元组。
  3. 序列都可以进行的操作包括索引,切片,加,乘,检查成员。

列表

  1. 列表用 [ ] 标识,是 python 最通用的复合数据类型。
  2. 列表的数据项不需要具有相同的类型。

访问列表中的值:[头下标:尾下标] 截取

同字符串截取。

list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']
 
print list               # 输出完整列表
print list[0]            # 输出列表的第一个元素
print list[1:3]          # 输出第二个至第三个元素 
print list[2:]           # 输出从第三个开始至列表末尾的所有元素
print tinylist * 2       # 输出列表两次
print list + tinylist    # 打印组合的列表
# ['runoob', 786, 2.23, 'john', 70.2]
# runoob
# [786, 2.23]
# [2.23, 'john', 70.2]
# [123, 'john', 123, 'john']
# ['runoob', 786, 2.23, 'john', 70.2, 123, 'john']

更新列表

  1. 可以对列表的数据项进行修改或更新。
  2. 可以使用append()方法来添加列表项。
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素

删除列表元素

使用 del 语句来删除列表的元素。

list1 = ['physics', 'chemistry', 1997, 2000]
 
print list1
del list1[2]

列表脚本操作符

符号功能示例
   len()   返回列表长度len([1, 2, 3]) = 3
+组合列表[1, 2, 3] + [4, 5, 6] = [1, 2, 3, 4, 5, 6]
*重复列表['Hi!'] * 4 = [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’]
in元素是否存在于列表中3 in [1, 2, 3] = True
for x in list迭代for x in [1, 2, 3]: print x, = 1 2 3

列表函数&方法

列表函数&方法

元组

  1. 元组用()标识。内部元素用逗号隔开。
  2. 创建空元组。
tup1 = ()
  1. 元组中只包含一个元素时,需要在元素后面添加逗号。
tup1 = (50,)
  1. 元组不能二次赋值,相当于只读列表。
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000    # 元组中是非法应用
list[2] = 1000     # 列表中是合法应用

访问元组中的值:[头下标:尾下标] 截取

tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
 
print tuple               # 输出完整元组
print tuple[0]            # 输出元组的第一个元素
print tuple[1:3]          # 输出第二个至第三个的元素 
print tuple[2:]           # 输出从第三个开始至列表末尾的所有元素
# ('runoob', 786, 2.23, 'john', 70.2)
# runoob
# (786, 2.23)
# (2.23, 'john', 70.2)

修改元组:连接组合

元组中的元素值是不允许修改的,但可以对元组进行连接组合。

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2

删除整个元组

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。

tup = ('physics', 'chemistry', 1997, 2000)
 
del tup

元组运算符

符号功能示例
len()计算元组元素个数len((1, 2, 3)) = 3
+连接元组(1, 2, 3) + (4, 5, 6) = (1,2,3,4,5,6)
*重复元组('Hi!') * 4 = (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’)
in元素是否存在于元组中3 in (1, 2, 3) = True
for x in list迭代for x in (1, 2, 3): print x, = 1 2 3

无关闭分隔符

任意无符号的对象,以逗号隔开,默认为元组。

x, y = 1, 2
print "Value of x , y : ", x,y

元组内置函数

内置函数

字典

  1. 列表是有序的对象集合,字典是无序的对象集合。
  2. 字典可存储任意类型对象。
  3. 字典当中的元素是通过键来存取。
  4. 字典用"{ }"标识。字典由索引 (key) 和它对应的值 value 组成。

 
tinydict = {'name': 'john','code':6734, 'dept': 'sales'}
 
print tinydict             # 输出完整的字典:{'dept': 'sales', 'code': 6734, 'name': 'john'}
print tinydict.keys()      # 输出所有键:['dept', 'code', 'name']
print tinydict.values()    # 输出所有值:['sales', 6734, 'john']

访问字典里的值

把相应的键放入方括弧中便可访问。

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"

print dict['one']          # 输出键为'one' 的值:This is one
print dict[2]              # 输出键为 2 的值:This is two

修改字典

增加新的键/值对。

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
dict['Age'] = 8; # update existing entry
dict['School'] = "DPS School"; # Add new entry

删除字典元素

删单一的元素: del dict['key']
清空字典的所有元素:dict.clear()
删除字典:del dict

del删除字典后字典不再存在,所以再访问会报错

字典键的特性

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。

dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
 
print "dict['Name']: ", dict['Name']; #dict['Name']:  Manni

2)键必须不可变,可以用数字,字符串或元组充当,但是不能用列表。

dict = {['Name']: 'Zara', 'Age': 7};
 
print "dict['Name']: ", dict['Name'];
# 以上代码会报错

字典内置函数&方法

内置函数&方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值