Python学习笔记2——数据类型

变量和类型

在程序设计中,变量是一种存储数据的载体。计算机中的变量是实际存在的数据或者说是存储器中存储数据的一块内存空间,变量的值可以被读取和修改,这是所有计算和控制的基础。计算机能处理的数据有很多种类型,除了数值之外还可以处理文本、图形、音频、视频等各种各样的数据,那么不同的数据就需要定义不同的存储类型。

  • 整型:Python中可以处理任意大小的整数(Python 2.x中有int和long两种类型的整数,但这种区分对Python来说意义不大,因此在Python 3.x中整数只有int这一种了),而且支持二进制(如0b100,换算成十进制是4)、八进制(如0o100,换算成十进制是64)、十进制(100)和十六进制(0x100,换算成十进制是256)的表示法。
  • 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如123.456)之外还支持科学计数法(如1.23456e2)。
  • 字符串型:字符串是以单引号或双引号括起来的任意文本,比如'hello'"hello",字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
  • 布尔型:布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如3 < 5会产生布尔值True,而2 == 1会产生布尔值False)。
  • 复数型:形如3+5j,跟数学上的复数表示一样,唯一不同的是虚部的i换成了j。实际上,这个类型并不能算作常用类型,大家了解下就可以了。

变量命名

对于每个变量我们需要给它取一个名字,就如同我们每个人都有属于自己的响亮的名字一样。在Python中,变量命名需要遵循以下这些必须遵守硬性规则和强烈建议遵守的非硬性规则。

  • 硬性规则:
    • 变量名由字母(广义的Unicode字符,不包括特殊字符)、数字和下划线构成,数字不能开头。
    • 大小写敏感(大写的a和小写的A是两个不同的变量)。
    • 不要跟关键字(有特殊含义的单词,后面会讲到)和系统保留字(如函数、模块等的名字)冲突。
  • PEP 8要求:
    • 用小写字母拼写,多个单词用下划线连接。
    • 受保护的实例属性用单个下划线开头(后面会讲到)。
    • 私有的实例属性用两个下划线开头(后面会讲到)。

 

变量的使用

下面通过几个例子来说明变量的类型和变量使用。

a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a)) # <class 'int'>
print(type(b)) # <class 'float'>
print(type(c)) # <class 'complex'>
print(type(d)) # <class 'str'>
print(type(e)) # <class 'bool'>

变量的定义不需要指定类型,但可以通过type()函数查看类型。

可以使用Python中内置的函数对变量类型进行转换。

  • int():将一个数值或字符串转换成整数,可以指定进制。
  • float():将一个字符串转换成浮点数。
  • str():将指定的对象转换成字符串形式,可以指定编码。
  • chr():将整数转换成该编码对应的字符串(一个字符)。
  • ord():将字符串(一个字符)转换成对应的编码(整数)。

 

变量的数学运算

"""
使用input()函数获取键盘输入(字符串)
使用int()函数将输入的字符串转换成整数
使用print()函数输出带占位符的字符串
"""

a = 3
b = 2

#a = int(input('a = '))
#b = int(input('b = '))

# 加减乘
print("%d + %d = %d" % (a, b, (a + b)))
print("%d - %d = %d" % (a, b, (a - b)))
print("%d * %d = %d" % (a, b, (a * b)))
# 除(结果取小数)
print("%d / %d = %f" % (a, b, (a / b)))
# 整除(结果取整)
print("%d // %d = %d" % (a, b, (a // b)))
# 取余数
print("%d %% %d = %d" % (a, b, (a % b)))
# 幂 结果是a的b次方
print("%d ** %d = %d" % (a, b, (a ** b)))
说明:上面的print函数中输出的字符串使用了占位符语法,其中%d是整数的占位符,%f是小数的占位符,%%表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%),字符串之后的%后面跟的变量值会替换掉占位符然后输出到终端中,运行上面的程序,看看程序执行结果就明白啦。

print()函数具体解析可参考《Python输出函数print()总结》,简单分析语法如下:
print(*objects, sep=' ', end='\n', file=sys.stdout)

"""
参数的具体含义如下:
    objects --表示输出的对象。输出多个对象时,需要用 , (英文逗号)分隔。
    sep -- 用来间隔多个对象。
    end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。
    file -- 要写入的文件对象。
"""

 

运算符

Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。除了我们之前已经用过的赋值运算符和算术运算符,我们稍后会陆续讲到其他运算符的使用。

运算符 描述
[]  [:] 下标,切片
** 指数
~  +  - 按位取反, 正负号
*  /  %  // 乘,除,模,整除
+  - 加,减
>>  << 右移,左移
& 按位与
^  | 按位异或,按位或
<=  <  >  >= 小于等于,小于,大于,大于等于
==  != 等于,不等于
is  is not 身份运算符
in  not in 成员运算符
not  or  and 逻辑运算符(相当于Java中的 ! || &&)
= += -= *= /= %= //= **= &= ` = ^= >>= <<=`

 说明: 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。

下面的例子演示了赋值运算符和复合赋值运算符的使用。

"""
赋值运算符和复合赋值运算符
"""
 
a = 10
b = 3
a += b # 相当于:a = a + b
a *= a + 2 # 相当于:a = a * (a + 2)
print(a)

猜你喜欢

转载自www.cnblogs.com/yuanxixing/p/12321575.html