您的位置 首页 java

Python初学:变量是什么?盘点那些变量的基本概念

带你走进 @ 机器人时代

Discover 点击上面 蓝色文字 关注我们


python
变量可以看成一个小盒子,专门用来“盛放”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。

而这个小盒子,就是在内存中的一个地址,也可以理解成为一个门牌号。

将数据赋值给变量的过程就叫做赋值, Python 里的赋值就使用‘=’来实现:

 s=5
p='abc'
m=3.14159
t='中国人'
姓名='张三'#可以使用中文作为变量名,但不推荐  
   

变量只能容纳一个值,当新的 赋值语句 修改原有的变量值,原来的值就不存在了。 Python 的变量赋值方法比较灵活,如:

 m=3.14159
s=m+1#结果为4.14159
q=3+2-1*9 #结果为-4
o=s+(5*2)#结果为14.14159  
   


在其他 强类型语言 (如C++、C、 Java )中,变量赋值前需要申明,但Python无须先申明,可以直接赋值。

所以,Python属于 弱类型语言

弱类型语言 有两个特点:

变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为 字符串

但是,不代表变量就没有类型,只是书写的时候不需要特别关注。可以使用type()来判断变量的类型:


结果显示:<class ‘int’>,说明这是一个整数型的变量,前面的class说明这个变量也是一个类,这也说明在Python中万事万物皆是类,后面我们会讲到。

int类型叫做整数类型,整数包括正整数、0 和负整数。如果数据比较长,Python规定,还可以用下划线来分隔,并不影响数值本身:


与之对应的就是小数,也称为 浮点数


浮点数和定点数是相对的:小数在存储过程中如果小数点发生移动,就称为浮点数;如果小数点不动,就称为定点数。

Python的小数有两种书写形式:
一种是十进制形式,如‘32.658,‘78.125’等等,另一种是指数形式,aen或者aEn的形式:

 f= 5e5
print(f)
print(type(f))

p=5E5
print(p)
print(type(p))  

运行结果:

 500000.0
<class 'float'>
500000.0
<class 'float'>  

Python 中还有一种数字的类型叫复数类型,表达方式为a+bj:

 c1 = 9 + 0.5j
print("c1: ", c1)
print("数据类型", type(c1))
c2 = 8 - 1.5j
print("c2: ", c2)
#对复数进行简单计算
print("c1+c2: ", c1+c2)
print("c1*c2: ", c1*c2)  


运行结果:

 c1:  (9+0.5j)
数据类型 <class 'complex'>
c2:  (8-1.5j)
c1+c2:  (17-1j)
c1*c2:  (72.75-9.5j)  

当我们在 Python 里面执行0.1+0.2的时候,会发现一个惊人的有趣的现象,就是输出结果:

 >>> 0.1+0.2
>>> 0.30000000000000004  


为什么会这样?
原来是 二进制 的转换在作怪,前面我们讲到过机器语言的内容,
Python 将数字0.1和0.2转换成二进制的电信号输出给计算机。

在转换的时候,0.1(10)=0.00011001100110011…(2)这是一个无限循环的数,由于计算机存储的位数是有限制的,所以如果要存储的二进制位数超过了计算机存储位数的最大值,其后续位数会被舍弃(舍弃的原则是“0 舍 1 入”)。

这样就会出现上面的情况,而且在所有的编程语言中都会遇到这样的情况。

如果希望得到精确的结果,可以使用 decimal 模块或Fraction:

   
 import  Decimal 
a = decimal.Decimal("20.0")
b = decimal.Decimal("3")
print(20.0/3)
print(a/b)

from fractions import Fraction
print(20/3)
print(Fraction(20,3))  

输出结果为:

 6.666666666666667
6.666666666666666666666666667
6.666666666666667
20/3  


除了数值型的变量,
Python 还有字符型变量。

字符型的变量是用”或“”包含起来的(注意这里是英文输入法里的符号,小伙伴们千万不要踩坑)。

这里需要注意,如果字符串里有‘’或“”注意的字符,就需要转义:”he’s pen”这样的字符写成:

 s='he\'s pen'
s="he's pen"  
   


注意区分中文输入和英文输入的切换,很多新手辛辛苦苦写了几百行代码,因为一个标点符号检查了一个通宵的事情,时有发生。

关于换行的问题,一般采用‘\’换行,有的长字符串才有‘’‘XXXXX’‘’或者“”“XXXX”“”的办法,但是后面这种方式输出时是这样的:

 s='''这是一个案例
     转行输出
     被隔开了'''
print(s)  

结果:

 这是一个案例
转行输出
被隔开了  


另外一个很重要的情况如:”F:\Program Files\Python\python.exe”

就需要是有 转义字符 ,写成”F:\\Program Files\\Python\\python.exe”

Python 3.x 中,字符串采用的是 Unicode 字符集,这个以后在外面的实例程序中会专门讲解。

Python bytes 类型的数据非常适合在互联网上传输,可以用于 网络通信 编程;bytes也可以用来存储图片、音频、视频等二进制格式的文件。

字符串由若干个字符组成,以字符为单位进行操作;字节串由若干个字节组成,以字节为单位进行操作。

   
 #通过构造函数创建空 bytes
s1 = bytes()
#通过空字符串创建空 bytes
s2 = b''
#通过b前缀将字符串转换成 bytes
by_s = b'#39;
print("by_s: ", by_s)
print(by_s[3])
print(by_s[7:22])


#通过  decode () 方法将 bytes 转换成字符串
str1 = by_s.decode('UTF-8')
print("str1: ", str1)  

输出结果如下:

 by_s:  b'#39;
112
b'www.baidu.com/p'
str1:    


再来看一个例子:

   
 #通过构造函数创建空 bytes
s1 = bytes()
#通过空字符串创建空 bytes
s2 = b''
#通过b前缀将字符串转换成 bytes
by_s = b'#39;
print(by_s)
print(by_s[0])
print(by_s[7:22])
#为 bytes() 方法指定字符集
s4 = bytes('这是一段文字', encoding='UTF-8')
print("b4: ", s4)
#通过 encode() 方法将字符串转换成 bytes
s5 = "这是一段文字".encode('UTF-8')
print("b5: ", s5)
#通过 decode() 方法将 bytes 转换成字符串
q1 = s4.decode('UTF-8')
print("str1: ", q1)  

输出结果:

 b'#39;
104
b'www.baidu.com/p'
b4:  b'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\x80\xe6\xae\xb5\xe6\x96\x87\xe5\xad\x97'
b5:  b'\xe8\xbf\x99\xe6\x98\xaf\xe4\xb8\x80\xe6\xae\xb5\xe6\x96\x87\xe5\xad\x97'
str1:  这是一段文字  


Python 提供了 bool 类型来表示真(对)或假(错)使用 True /False来代表,

Python 中,所有的对象都可以进行真假值的测试,包括字符串、 元组 、列表、字典、对象等,后面会介绍。

坚持学习 每天都能进步一点点!

往期回顾:

  • 来来来,送你一个金牌销售机器人,7X24小时不休,不要工资免费用!
  • RPA技术在旅行社销售业务中如何凤凰涅槃??
  • 【工资翻三倍】系列:一招搞定九宫图片切割机器人,让你的朋友圈更加炫酷!

本文引用和摘录相关内容,请联系侵删。

– END –

最后,文章有帮助到你的话 点赞在看
励我们分享更多的干货!

文章来源:智云一二三科技

文章标题:Python初学:变量是什么?盘点那些变量的基本概念

文章地址:https://www.zhihuclub.com/178896.shtml

关于作者: 智云科技

热门文章

网站地图