(02)Python_变量

匆匆过客 提交于 2020-02-12 02:19:09

编写代码时要避免代码重复,提高代码的复用性,称之为DRY(don't repeat yourself)。否则会导致维护困难,修改时容易造成遗漏。为了避免重复,学习其中一种方式——变量

name = '三毛'

这是一个常见的定义变量操作,意思是把 '三毛' 赋值给 name 这个变量。

变量就像一个盒子,是存放数据的容器,东西放进去的过程被称为赋值,盒子上的标签就是变量名。通过标签名能知道盒子里的东西是什么,通过变量名便也能得到变量存储的内容。

与其他编程语言不同的是,Python并没有声明变量的命令,首次为其赋值时,才会创建变量。例如:

name = '三毛'
print('三毛')
print(name)

两种方式打印结果是一样的:

三毛
三毛

注意:Python中  =  表示赋值,而不是判断相等。Python 中判断左右两边是否相等的是比较运算符  ==  

变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型。如:

x = 5 # x is of type int
y = 3.14 #y is of type float
z = "Sanmao" # z is now of type str
print(x)
print(y)
print(z)

运行结果:

5
3.14
Sanmao

变量的两大优势:

  •  避免重复;
  • 修改方便,写错了只需要修改一个地方,其它地方引用会自动更新;

Python 变量名命名规范

  • 只能包含字母、数字、下划线(A-z、0-9和_);
  • 不能以数字开头,必须以字母或下划线字符开头;
  • 变量名称区分大小写(age、Age和AGE是三个不同的变量);
  • 尽量描述包含的数据内容;

向多个变量赋值

  • Python 允许在一行中为多个变量赋值,例如: 

x, y, z = "xiaoan", "xiaoqiao", "xiaofang"
print(x)
print(y)
print(z)

运行结果:

xiaoan
xiaoqiao
xiaofang
  • Python允许在一行中为多个变量分配相同的值,例如:
x = y = z = "送你一匹马"
print(x)
print(y)
print(z)

运行结果:

送你一匹马
送你一匹马
送你一匹马

输出变量

Python 的 print() 语句通常用于输出变量。

如需结合文本和变量,用  +  字符,例如:

x = "我学Python"
print("人生苦短, " + x)

 运行结果:

人生苦短, 我学Python

全局变量

在函数外部创建的变量(如上述所有实例所示)称为全局变量。 全局变量在函数内部和外部的均可使用,例如: 

x = "Echo"

def myfunc():
  print("I like " + x)

myfunc()

运行结果:

I like Echo
  • 如果在函数内部创建具有相同名称的变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保留原样,并拥有原始值。例如:

#在函数内部创建一个与全局变量同名的变量:
x = "Sanmao"

def myfunc():
  x = "Echo"
  print("My name is " + x)

myfunc()

print("My name is " + x)

运行结果:

My name is Echo
My name is Sanmao

global 关键字

 通常,在函数内部创建变量时,该变量是局部变量,只能在该函数内部使用。 要在函数内部创建全局变量,用 global 关键字,例如:

#在函数内部创建一个全局变量
def myfunc():
  global x
  x = "Sahara"
			
myfunc()

print("Echo like " + x)

运行结果:

Echo like Sahara
  • 如果要在函数内部更改全局变量,用 global 关键字,例如:

#在函数内部更改全局变量的值
x = "荷西"

def myfunc():
  global x
  x = "Echo"

myfunc()

print(x + '是一名作家')#全局变量的值不再是'荷西',而是'Echo'

运行结果:

Echo是一名作家

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!