今日在对比shell编程和python编程时,对于关键字、数据类型、流程控制、异常处理这些有了新的看法,同时对“面向过程编程-函数式编程-面向对象编程”的编程思想也有了一些更深的看法,所以准备将这些依次总结一下,整理如下。
对于python数据类型,是变量相关的重要概念,变量三要素:名称、数据类型、操作方法,这三者从三个方面描述了变量,而变量也就成为了整个python编程的重要基础。 我对python中数据类型相关的重要概念,编写在一个python脚本中了,并测试脚本运行正常,通过脚本内容和运行结果,就可以把握python数据类型相关的内容了。
python数据类型相关脚本内容如下:
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
#################
#python脚本的核心是关键字,变量,流程控制与编程思想;
#################
print ”’
python脚本的核心是关键字,变量,流程控制与编程思想.
变量也有三要素:变量名称,变量数据类型,变量操作方法(操作符,操作函数)。
python数据类型,按照特征可以划分为4个大类:数字类型,序列(数组)类型,映像类型,集合类型。
数字类型
整型
布尔型
标准整型
长整型
非整型
双精度浮点型
复数
decimal(不是内建类型)
序列类型(shell中叫数组)
字符串 str
元祖 tuple
列表 list
映像类型
字典 dict
集合类型
可变集合 set
不可变集合 frozenset
python数据类型,安装可变性(是否可变)划分,可以划分为2大类,7小类。
可哈希的,不可变的数据类型
数字类型
不可变集合 frozenset
字符串 str
元祖 tuple
可变的数据类型
字典 dict
列表 list
可变集合 set
”’
#################
#number数字类型
#################
print “number数字类型,通常用于存储数字,是最常用的变量类型”
print “整型 int ,有32位或64位长度范围限制”
a = 12
b = -405
c = 0x3a
print “整型取值有,正整数{a},负整数{b},十六进制表示的正整数{c}”.format(a=a, b=b, c=c)
print
print “长整型 long integer,数值后面以l或l结尾,没有固定位宽,理论可以表示很长的数值”
a = 1239884
b = -68123912
c = 0xa32b9ddl
print “长整型有,正长整型{a},负长整型{b},十六进制表示的长整型{c}”.format(a=a, b=b, c=c)
print
print “布尔型 boolean,多用于判断场景,只有两个值:true,false”
a = false
b = true
print “布尔型,假为{a},真为{b}”.format(a=a,b=b)
print
print “双精度浮点数 double-precision floating,可以直接用十进制或科学计数法表示,每个数占8字节,可以在后面加小数点或e”
a = 1.7946
b = -30.
c = 3e8
print “双精度浮点数,普通小数{a},复数浮点数{b},科学计数法{c}”.format(a=a,b=b,c=c)
print
print “数值类型的操作符分两类,第一类是算术运算符,如加减乘除;第二类是二进制比特操作,如取反、异或,可以先转化二进制再考虑”
print ”’数值类型,算术操作符有13类
a+b 加号,也可以单独放在数字前,用于表示正数
a-b 减号,也可以单独放在数字前,用于表示复数
a*b 乘号
a/b 除号,b不能为0,整数相除仍为整数
a%b 取余数,结果为a除以b后取余数
a**b 幂操作符,结果为a的b次方
a//b 取整除符,结果为a除以b后的结果的整数部分
not a 取反操作,只用于布尔类型
a>b 判断a是否大于b,结果为true或false
a=b 判断a是否大于等于b,结果为true或false
a>b 按比特位右移
a= sample3
print sample2 – sample3
print sample2 & sample3
sample3 |= sample2
print sample3
print
print ”’
可变集合set类型,除了操作符,还可以用内置函数进行集合的增、删、改等操作,函数如下:
add(): 增加新元素
update(): 用序列更新集合,序列的每个元素都被添加到集合中
remove(element): 删除元素
”’
sample2 = set([4, 6, -1.3, ‘english’, 0, ‘python’])
sample2.add(‘china’)
print sample2
sample2.update(‘france’)
print sample2
sample2.remove(-1.3)
print sample2
sample3 = frozenset([6, ‘english’, 9])
#sample3.add(‘chiand’) #会报错,就不在脚本中执行了
print
#################
#字典dictionary类型
#################
print ”’
字典dictionary类型,用大括号{}表示,代表一个key/value 存储库,这种键/值存储库工作方式很像映射表,键值映射之间用逗号隔开。
给定一个键key,可以在一个字典dict对象中搜索该键对应的值,因此字典被认为是key/value 键值对的列表。
字典dict类型比较特殊,所以定义方式也比较特殊,可以使用{key1:value, key2:value, …}操作也使用内置函数直接操作。
”’
dict1 = {‘language’:’english’, ‘title’:’python book’, ‘pages’:450}
print dict1
print dict1[‘title’]
dict1[‘date’] = ‘2010-12-25’
print dict1
dict1[‘language’] = ‘chinese’
print dict1
dict2 = {‘language’:’english’, ‘language’:’chinese’}
print dict2
print
print ”’
python中,对字段dict类型常用的内置函数操作有:
clear(): 清除字典中的所有键值对
copy(): 复制字典的一个副本
fromkeys(seq, val=none)c: 用seq中的元素作为键key创建字典,所有键的值都设为 val,val默认为none
get(key, default=none): 读取字典中的键 key,返回该键的值;如果找不到该键,则返回default所设的值
has_key(key): 判断键key在字典中是否存在,如果存在则返回true,否则返回false
items(): 返回一个包含字典中 (键,值)对元组的列表
keys(): 返回一个字典中的所有键的列表
iteritems(): 返回对字典中所有 (键,值)对的迭代器
iterkeys(): 返回对字典中所有键的迭代器
itervalues(): 返回对字典中所有值的迭代器
pop(key[,default]): 读取某键的值,并且从字典中删除该键的值。如果键key不存在且没有设置default,则引发keyerror异常
setdefault(key,default=none): 设置字典中键key的值为default
update(dict): 合并字典
values(): 返回一个包含字典张所有值的列表
”’
dict1 = {‘language’:’english’, ‘title’:’python book’, ‘pages’:450}
print dict1.get(‘title’, ‘todo’)
print dict1.get(‘author’, ‘anonymous’)
print dict1.pop(‘language’)
print dict1
dict2 = {‘author’:’david’, ‘price’:32.00, ‘pages’:409}
dict1.update(dict2)
print dict1
print dict1.values()
print
执行结果如下:
# python py_data_type.py
python脚本的核心是关键字,变量,流程控制与编程思想.
变量也有三要素:变量名称,变量数据类型,变量操作方法(操作符,操作函数)。
python数据类型,按照特征可以划分为4个大类:数字类型,序列(数组)类型,映像类型,集合类型。
数字类型
整型
布尔型
标准整型
长整型
非整型
双精度浮点型
复数
decimal(不是内建类型)
序列类型(shell中叫数组)
字符串 str
元祖 tuple
列表 list
映像类型
字典 dict
集合类型
可变集合 set
不可变集合 frozenset
python数据类型,安装可变性(是否可变)划分,可以划分为2大类,7小类。
可哈希的,不可变的数据类型
数字类型
不可变集合 frozenset
字符串 str
元祖 tuple
可变的数据类型
字典 dict
列表 list
可变集合 set
number数字类型,通常用于存储数字,是最常用的变量类型
整型 int ,有32位或64位长度范围限制
整型取值有,正整数12,负整数-405,十六进制表示的正整数58
长整型 long integer,数值后面以l或l结尾,没有固定位宽,理论可以表示很长的数值
长整型有,正长整型1239884,负长整型-68123912,十六进制表示的长整型171096541
布尔型 boolean,多用于判断场景,只有两个值:true,false
布尔型,假为false,真为true
双精度浮点数 double-precision floating,可以直接用十进制或科学计数法表示,每个数占8字节,可以在后面加小数点或e
双精度浮点数,普通小数1.7946,复数浮点数-30.0,科学计数法300000000.0
数值类型的操作符分两类,第一类是算术运算符,如加减乘除;第二类是二进制比特操作,如取反、异或,可以先转化二进制再考虑
数值类型,算术操作符有13类
a+b 加号,也可以单独放在数字前,用于表示正数
a-b 减号,也可以单独放在数字前,用于表示复数
a*b 乘号
a/b 除号,b不能为0,整数相除仍为整数
a%b 取余数,结果为a除以b后取余数
a**b 幂操作符,结果为a的b次方
a//b 取整除符,结果为a除以b后的结果的整数部分
not a 取反操作,只用于布尔类型
a>b 判断a是否大于b,结果为true或false
a=b 判断a是否大于等于b,结果为true或false
a>b 按比特位右移
a= 判断非绝对超集关系
& 交运算
| 并运算
– 差运算
^ 对称差运算
|= 执行并运算并赋值
&= 执行交运算并赋值
-= 执行差运算并赋值
^= 执行对称差运算并赋值
true
false
set([0, ‘python’, -1.1, 4, ‘english’])
set([6])
frozenset([0, 4, 6, ‘python’, 9, ‘englist’, ‘english’, -1.1])
可变集合set类型,除了操作符,还可以用内置函数进行集合的增、删、改等操作,函数如下:
add(): 增加新元素
update(): 用序列更新集合,序列的每个元素都被添加到集合中
remove(element): 删除元素
set([0, 4, 6, ‘python’, -1.3, ‘china’, ‘english’])
set([0, ‘a’, ‘c’, 4, 6, ‘f’, ‘python’, -1.3, ‘n’, ‘r’, ‘china’, ‘english’, ‘e’])
set([0, ‘a’, ‘c’, 4, 6, ‘f’, ‘python’, ‘n’, ‘r’, ‘china’, ‘english’, ‘e’])
字典dictionary类型,用大括号{}表示,代表一个key/value 存储库,这种键/值存储库工作方式很像映射表,键值映射之间用逗号隔开。
给定一个键key,可以在一个字典dict对象中搜索该键对应的值,因此字典被认为是key/value 键值对的列表。
字典dict类型比较特殊,所以定义方式也比较特殊,可以使用{key1:value, key2:value, …}操作也使用内置函数直接操作。
{‘pages’: 450, ‘language’: ‘english’, ‘title’: ‘python book’}
python book
{‘date’: ‘2010-12-25’, ‘pages’: 450, ‘language’: ‘english’, ‘title’: ‘python book’}
{‘date’: ‘2010-12-25’, ‘pages’: 450, ‘language’: ‘chinese’, ‘title’: ‘python book’}
{‘language’: ‘chinese’}
python中,对字段dict类型常用的内置函数操作有:
clear(): 清除字典中的所有键值对
copy(): 复制字典的一个副本
fromkeys(seq, val=none)c: 用seq中的元素作为键key创建字典,所有键的值都设为 val,val默认为none
get(key, default=none): 读取字典中的键 key,返回该键的值;如果找不到该键,则返回default所设的值
has_key(key): 判断键key在字典中是否存在,如果存在则返回true,否则返回false
items(): 返回一个包含字典中 (键,值)对元组的列表
keys(): 返回一个字典中的所有键的列表
iteritems(): 返回对字典中所有 (键,值)对的迭代器
iterkeys(): 返回对字典中所有键的迭代器
itervalues(): 返回对字典中所有值的迭代器
pop(key[,default]): 读取某键的值,并且从字典中删除该键的值。如果键key不存在且没有设置default,则引发keyerror异常
setdefault(key,default=none): 设置字典中键key的值为default
update(dict): 合并字典
values(): 返回一个包含字典张所有值的列表
python book
anonymous
english
{‘pages’: 450, ‘title’: ‘python book’}
{‘title’: ‘python book’, ‘price’: 32.0, ‘author’: ‘david’, ‘pages’: 409}
[‘python book’, 32.0, ‘david’, 409]
以上就是分享python变量数据类型总结的详细内容,更多请关注 第一php社区 其它相关文章!