首页 > 编程语言 > 详细

python 学习(四)- 变量类型

时间:2020-11-30 12:02:53      阅读:46      评论:0      收藏:0      [点我收藏+]

一、变量的定义和使用

为什么需要变量?当然是通过变量来存储数据,而存储的数据类型可能是数字、字符串、字符等等,将这些数据存储在变量中,可以方便我们去使用,除了变量之外还有一个常量,区别就是,常量是不可变的,而变量是可变的。

1.1 变量的赋值

要使用一个变量,首先需要做的当然是给这个变量赋值,在 python 中,通过 = 号进行赋值:

var = value

其中,var 为变量,value 为具体的值。

注意,变量是标识符的一种,要遵守标识符命名规则。

1.2 变量的使用

a = 1
print(1)
b = 2
sum = a + b
print(sum)
url = "http://www.baidu.com"
print("百度网址为:" + url)

通过上面变量的定义可以看出来,python 是弱类型语言,因为 python 定义变量时不需要声明变量的类型,而且赋值的数据也可以是不同类型的,类似的弱类型语言有 python、JavaScript、PHP,弱类型语言有以下特点:

1)变量无需声明即可赋值,对于一个不存在的变量赋值就相当于一个新的变量。

2)变量的数据类型可以随时改变。

注意:弱类型并不等于没有类型,可以使用 type() 内置函数类检测某个变量或者表达式的类型。

a = 1
# print <class ‘int‘>
print(type(a))

二、整数类型(int)

2.1 定义与使用

整数即不带小数点的正整数、负整数、0,python 与其他强类型语言不同的地方在于 python 只有一种类型的整数,那就是 int,且整数的取值范围是无限的:

a = 1
# print 1
print(a)

b = 1000000000000
# print 1000000000000
print(b)

c = -1000000000000
# print -1000000000000
print(c)

2.2 进制问题

1)二进制类型:由0和1两个数字组成,书写时以 0b 或 0B 开头,例如,101对应十进制数是5。

a = 0b101
# print 5
print(a)
b = 0B110
# print 6
print(b)

2)八进制类型:八进制整数由0~7共八个数字组成,以 0o 或 0O 开头,第一个符号是数字0,第二个符号是大写或小写的字母 O。

a = 0o26
# print 22
print(a)
b = 0O41
# print 33
print(b)

3)十进制类型:

我们平时常见的整数就是十进制形式,它由0~9共十个数字排列组合而成。

注意,使用十进制形式的整数不能以0作为开头,除非这个数值本身就是0。

4)十六进制类型:由0~9十个数字以及 A~F(或 a~f)六个字母组成,书写时以 0x 或 0X 开头。

a = 0x45
# print 69
print(a)
b = 0x4Af
# print 1199
print(b)

2.3 数字分隔符

为了提高数字的的可读性,Python 3.x 允许使用下划线作为数字(包括整数和小数)的分隔符,通常每隔三个数字添加一个下划线,类似于英文数字中的逗号,下划线不会影响数字本身的值。

a = 1_000_000
# print 1000000
print(a)

三、小数/浮点数类型(float)

3.1 定义与使用

同样和强类型语言有区别的是,python 只有 float 类型表示小数,小数通常以浮点数的形式存储,浮点数和定点数是相对的,小数在存储过程中如果小数点发生移动,就称为浮点数,如果小数点不动,就称为定点数,python 中的小数有两种书写形式:

1)十进制形式:

这种就是我们平时看到的小数形式,例如 34.6、346.0、0.346,书写小数时必须包含一个小数点,否则会被 python 当作整数处理。

2)指数形式:

python 小数的指数形式的写法为:aEn 或 aen,a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E 或 e 是固定的字符,用于分割尾数部分和指数部分,整个表达式等价于 a×10n。

指数形式的小数举例:

2.1E5 = 2.1×105,其中 2.1 是尾数,5 是指数。
3.7E-2 = 3.7×10-2,其中 3.7 是尾数,-2 是指数。
0.5E7 = 0.5×107,其中 0.5 是尾数,7 是指数。

注意,指数形式即小数,即使它的最终值看起来像一个整数,例如14E3等价于14000,但14E3是一个小数。

a = 1.23
# print 1.23
print(a)
b = 12e4
# print 120000.0
print(b)
c = 12.3 * 0.1
# print 1.2300000000000002
print(c)

四、字符串类型(str)

字符串就是将多个字符组合在一起,python 中字符串写法有两种,一种是单引号写法,一种是双引号写法:

# 字符串的内容可以包含字母、标点、特殊符号、中文等所有文字。
‘这是单引号写法‘
"这是双引号写法"

注意:字符串中的双引号和单引号没有任何区别。

4.1 处理字符串中的引号

当字符串内容中出现引号时,我们需要进行特殊处理,否则 python 会解析出错,有以下方式,例如:

# ‘I‘m a great coder!‘

str1 = ‘I\‘m a great coder!‘
# print I‘m a great coder!
print(str1)
str2 = "I‘m a great coder!"
# print I‘m a great coder!
print(str2)

4.2 字符串换行

python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求,要想换行书写一个比较长的字符串,可以进行如下操作:

s2 = ‘字符串的换行操作.     字符串的换行操作.     字符串的换行操作.‘

上面 s2 字符串的比较长,所以使用了转义字符 \ 对字符串内容进行了换行,这样就把一个长字符串写成多行。

4.3 长字符串

长字符串即不用加 \ 便可以直接换行书写的字符串:

longstr = ‘‘‘
    这个是长字符串.
    这个是长字符串.
    这个是长字符串.
‘‘‘
print(longstr)

4.4 原始字符串

在原始字符串中,\ 不会被当作转义字符,所有的内容都得到了保持。

在普通字符串或者长字符串的开头加上 r 前缀即可:

str1 = r‘原始字符串内容‘
# print 原始字符串内容
print(str1)

五、布尔类型(bool)

bool 类型用来表示真(对)或假(错),例如 1 > 2 是错的,2 > 1 是对的:

# print False
print(1 > 2)
# print True
print(2 > 1)

注意:True 和 False 是 python 的关键字,作为 python 代码输入时,要注意字母大小写,否则会报错。

另外,布尔类型可以当做整数来对待,即 True 相当于整数值 1,False 相当于整数值 0,因此,下边这些运算都是可以的:

# print 1
print(False + 1)
# print 2
print(True + 1)

六、字节串类型(bytes)

bytes 是 python 3.x 新增的类型,字节串(bytes)和字符串(string)的对比:

  • 字符串由若干个字符组成,以字符为单位进行操作,字节串由若干个字节组成,以字节为单位进行操作。
  • 字节串和字符串除了操作的数据单元不同之外,它们支持的所有方法都基本相同。
  • 字节串和字符串都是不可变序列,不能随意增加和删除数据。

bytes 只负责以字节序列的形式(二进制形式)来存储数据,至于这些数据到底表示什么内容(字符串、数字、图片、音频等),完全由程序的解析方式决定,如果采用合适的字符编码方式(字符集),字节串可以恢复成字符串;反之亦然,字符串也可以转换成字节串,说白了,bytes 只是简单地记录内存中的原始数据,至于如何使用这些数据,bytes 并不在意,你想怎么使用就怎么使用,bytes 并不约束你的行为。

bytes 类型的数据非常适合在互联网上传输,可以用于网络通信编程,bytes 也可以用来存储图片、音频、视频等二进制格式的文件,字符串和 bytes 存在着千丝万缕的联系,我们可以通过字符串来创建 bytes 对象,或者说将字符串转换成 bytes 对象,有以下三种方法可以达到这个目的:

  • 如果字符串的内容都是 ASCII 字符,那么直接在字符串前面添加 b 前缀就可以转换成 bytes。
  • bytes 类,调用构造方法,也就是 bytes(),可以将字符串按照指定的字符集转换成 bytes,默认采用 UTF-8。
  • 字符串有 encode() 方法,用来将字符串按照指定的字符集转换成对应的字节串,默认采用 UTF-8。
# 将字符串转换成 bytes
a = bytes(‘将字符串转换成 bytes‘, encoding=‘UTF-8‘)
# print b‘\xe5\xb0\x86\xe5\xad\x97\xe7\xac\xa6\xe4\xb8\xb2\xe8\xbd\xac\xe6\x8d\xa2\xe6\x88\x90 bytes‘
print(a)

python 学习(四)- 变量类型

原文:https://www.cnblogs.com/isKylin/p/14060029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!