Python 语言学习 第一篇:数据类型(数字,集合,布尔类型,操作符)

Python语言最常用的对象是变量和常量,常量的值是字面意思,其值是不可变的,变量的值是可变的,例如,123,"上海"是常量,而a=1,a=2,其中a是变量名。内置的核心数据类型有:数字、字符串、列表、字典、元组、文件、集合、None和布尔类型。变量的数据类型是由初始化的常量来指定的,其类型根据赋值是可变的,这就是Python的动态类型模型。 Python语言的特点是: Python是强类型的语言,只能对一个对象进行适合该类型的操作。 Python是动态类型的,自动检测到变量的类型。 Python语言是大小写敏感的,变量a和变量A是不同的变量名,'abc' 和'Abc'是不同的字符串。 一,变量的动态类型 在Python中,类型是在运行过程中动态决定的,而不是通过代码声明的,这意味着没有必要事先声明变量。 当在Python中运行赋值语句:a = 3 时,Python自动把a作为整数对象来使用。变量名不和类型关联,变量名只不过是对象的一个引用而已,数据类型是和对象相关联的。当变量出现在表达式中时,它会马上被当前引用的对象所代替。 总之,变量在赋值的时候创建,可以引用任何数据类型的对象,并且必须在初始化之后才能引用。 二,数字类型 Python的数字类型包括:整数、浮点数和复数 整数:在Python3.0中支持无穷精度的整数,可以通过内置函数int(n)来创建整数,整数是精确的, 浮点数:类似于C语言中的双精度,可以通过内置函数float(n)来创建浮点数,浮点数可能存在误差, 复数:虚部以j或J结尾,可以通过内置函数complex(real,image)来创建复数 二进制,八进制和十六进制:可以通过内置函数bin(n),oct(n),hex(n)来分别创建二进制数,八进制数和十六进制数 1,基数为2,8和16的整数 二进制,八进制和十六进制只能表示整数: 二进制(binary):以0b或0B开头,后面接0-1的数字 八进制(octal):以0o或0O开头,后面接0-7的数字, 十六进制(hex ):以0x或0X开头,后面接十六进制的数字0-9和A-F,字符编写成大写或小写都行 各个进制的常量表示: 常量0o10 是指十进制的8,使用oct(8)来表示 常量0b10是指十进制的2,使用bin(2)来表示 常量ox10是指十进制的16,使用hex(16)来表示 2,除法 Floor除法是指:把结果向小舍入到最近的整数,例如,小于2.5最小的整数是2,小于-2.5最小的整数是-3 复制代码 >>> import math >>> math.floor(2.5) 2 >>> math.floor(-2.5) -3 复制代码 在Python 2.6 版本中: / 表示传统除法:如果两个操作数都是整数类型,执行截断的整数除法,返回的结果是整数;如果任意一个操作数是浮点数,则返回小数。 // 表示Floor除法:总是截断余数,当两个操作数都是整数时,结果是整数(n);如果有任何一个操作数是浮点类型,则返回一个浮点数(n.0)。 在Python 3.0 版本中: / 表示真除法:不管操作数的类型,都返回包含小数的结果; // 表示Floor除法:对于整数执行截断除法,对于浮点数执行浮点除法。 例如,在Python 3.0 版本中: 复制代码 >>> 5//2.0 2.0 >>> 5//-2.0 -3.0 复制代码 3,位操作 把整数当作二进制位串来对待,使用位操作符进行位移操作 复制代码 >>> x=1 #0b0001 >>> x<<2 4 >>> x|2 3 >>> x&1 1 复制代码 4,内置的数学工具 导入内置的math模块,常用的数学工具: pow(a,b),求a的b次幂 round(seed):求随机数 math.sqrt(x),求x的平方根 math.floor(x):向下取最小的整数 math.trunc(x):截断小数点,保留整数 5,精确小数 精确小数是有固定精度的浮点数,通常情况下,浮点数缺乏精确性,这是因为用来存储数值的空间有限,例如,下面的计算应该得到0,但是结果却没有等于0,而是结果接近于0: 复制代码 >>> 0.1+0.1+0.1-0.3 5.551115123125783e-17 复制代码 不过使用精确小数,结果能够修正: 复制代码 >>> from decimal import Decimal >>> Decimal('0.1') + Decimal('0.1') - Decimal('0.2') Decimal('0.0') 复制代码 设置精确小数对象的精度: decimal.getcontext().prec = 4 6,分数 分数是指带有分子和分母的表达式,分数 1/2的表示方法是: 复制代码 >>> from fractions import Fraction >>> x=Fraction(1,2) 复制代码 三,集合 集合(set)是一些唯一的、不可变的对象的无序集合,这些对象支持集合操作。集合的特点是: 根据定义,一个项(元素,item)在集合中只能出现一次,不管把它添加多少次。 集合是无序的 1,创建集合 集合的三种定义方式,使用内置函数set创建集合 复制代码 >>> set([1,2,3,4]) {1, 2, 3, 4} >>> set('abcd') {'d', 'b', 'a', 'c'} 复制代码 或者使用大括号创建集合: 复制代码 >>> {1,2,3,4} {1, 2, 3, 4} 复制代码 2,集合操作 in :项是否存在于集合中 复制代码 >>> x={1,2,3,4} >>> 1 in x True 复制代码 - :集合的差集 复制代码 >>> y={2,3,4,5} >>> x-y {1} 复制代码 |:集合的交集,等价于x.union(y) 复制代码 >>> x|y # x.union(y) {1, 2, 3, 4, 5} 复制代码 &:集合的并集,等价于 x.intersection(y) 复制代码 >>> x&y # x.intersection(y) {2, 3, 4} 复制代码 ^:集合的异或 复制代码 >>> x ^ y {1, 5} 复制代码 >, < :集合的子集,等价于x.issubset(y) 复制代码 >>> xy #x.issubset(y), y.issubset(x) (False, False) 复制代码 3,集合的修改 add()用于添加集合元素,remove()用于移除集合元素,update()用于归并集合元素 复制代码 >>> x.add(6) >>> x {1, 2, 3, 4, 6} >>> x.remove(1) >>> x {2, 3, 4, 6} >>> x.update({2,5}) >>> x {2, 3, 4, 5, 6} 复制代码 四,布尔类型 bool数据类型的值是:True和False,显示的是True和False,其行为跟整数1和0是相同的。 布尔类型常用于条件表达式中,用于控制循环结构和分支结构。 对于bool值可以进行逻辑运算(and,or,not): 五,空值 空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。 六,操作符 特殊的操作符 = :赋值 == :相等 != :不等 is :检查对象的同一性,如果两个变量名指向同一个对象,返回True 1,逻辑运算符 and :逻辑与 or :逻辑或 not :逻辑非 2,逻辑表达式 >,<,>=,<= :大于,小于,大于或等于,小于或等于 ==:相等 !=:不等 3,算术操作符 + :加 - :减 * :乘 ** :幂乘,例如,a**b,是指a的b次方 / :除,在Python3.0中,是真除法,无论任何类型都会保持小数部分 // :Floor除法,省略掉结果的小数部分 % :求模 4,位运算符 & :按位与 | :按位或 ^ :异或 5,移位符 << :向左移位 >> :向右移位 作者:悦光阴 出处:http://www.cnblogs.com/ljhdo/ 本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。 分类: Python 标签: Python语言, 数据类型https://www.cnblogs.com/ljhdo/p/5614054.html
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信