【Python简明教程六】Python语法之变量

1 前言

变量(Variable)是存放数据值的容器,每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。

从底层看,程序中的数据最终都要放到内存(内存条)中,变量其实就是这块内存的名字。

和变量相对应的是常量(Constant),它们都是用来“盛装”数据的小箱子,不同的是:变量保存的数据可以被多次修改,而常量一旦保存某个数据之后就不能修改了。

2 Python 变量的赋值

在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。Python使用等号=作为赋值运算符,具体格式为:

name = value

name 表示变量名;value 表示值,也就是要存储的数据。

注意,变量是标识符的一种,它的名字不能随便起,要遵守 Python 标识符命名规范,还要避免和 Python 内置函数以及 Python 保留字重名。

具体来说,Python变量的命名规则有:

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

2.1 单个变量赋值

下面的语句将整数 10 赋值给变量 n:

n = 10

从此以后,n 就代表整数 10,使用 n 也就是使用 10。

更多赋值的例子:

pi = 3.1415926  #将圆周率赋值给变量 pi
url = "http://www.baidu.com"  #将百度的地址赋值给变量 str
real = True  #将布尔值赋值给变量 real

变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可;另外你也不用关心数据的类型,可以将不同类型的数据赋值给同一个变量。请看下面的演示:

n = 10  #将10赋值给变量n
n = 95  #将95赋值给变量n
n = 200  #将200赋值给变量n
abc = 12.5  #将小数赋值给变量abc
abc = 85  #将整数赋值给变量abc
abc = "http://www.baidu.com"  #将字符串赋值给变量abc

注意,变量的值一旦被修改,之前的值就被覆盖了,不复存在了,再也找不回了。换句话说,变量只能容纳一个值。

除了赋值单个数据,你也可以将表达式的运行结果赋值给变量,例如:

sum = 100 + 20  #将加法的结果赋值给变量
rem = 25 * 30 % 7  #将余数赋值给变量
str1 = "百度" + "http://www.baidu.com"  #将字符串拼接的结果赋值给变量

2.2 向多个变量赋值

Python 允许在一行中为多个变量赋值:

实例

x, y, z = "Orange", "Banana", "Cherry"

也可以在一行中为多个变量分配相同的值:

实例

x = y = z = "Orange"

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

2.3 全局变量

在函数外部创建的变量称为全局变量,全局变量可以被函数内部和外部的每个人使用。

实例
在函数外部创建变量,并在函数内部使用它:

x = "awesome"

def myfunc():
  print("Python is " + x)

myfunc()

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

2.4 global 关键字

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

实例

# 如果您用了 global 关键字,则该变量属于全局范围:
def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

另外,如果要在函数内部更改全局变量,请使用 global 关键字。

实例

# 要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:
x = "awesome"

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

myfunc()

print("Python is " + x)

3 Python 变量的使用

使用 Python 变量时,只要知道变量的名字即可。

几乎在 Python 代码的任何地方都能使用变量,请看下面的演示:

>>> n = 10
>>> print(n)  #将变量传递给函数
10
>>> m = n * 10 + 5  #将变量作为四则运算的一部分
>>> print(m)
105
>>> print(m-30)  #将由变量构成的表达式作为参数传递给函数
75
>>> m = m * 2  #将变量本身的值翻倍
>>> print(m)
210
>>> url = "http://www.baidu.com"
>>> str = "百度:" + url  #字符串拼接
>>> print(str)
百度:http://www.baidu.com

4 Python 是弱类型的语言

在强类型的编程语言中,定义变量时要指明变量的类型,而且赋值的数据也必须是相同类型的,C语言、C++、Java 是强类型语言的代表。

下面我们以 C++ 为例来演示强类型语言中变量的使用:

int n = 10;  //int表示整数类型
n = 100;
n = "http://c.biancheng.net/socket/";  //错误:不能将字符串赋值给整数类型
url = "http://c.biancheng.net/java/";  //错误:没有指明类型的变量是没有定义的,不能使用。

和强类型语言相对应的是弱类型语言,Python、JavaScript、PHP 等脚本语言一般都是弱类型的。

弱类型语言有两个特点:

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

注意,弱类型并不等于没有类型!弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。我们可以使用 type() 内置函数类检测某个变量或者表达式的类型,例如:

>>> num = 10
>>> type(num)
<class 'int'>
>>> num = 15.8
>>> type(num)
<class 'float'>
>>> num = 20 + 15j
>>> type(num)
<class 'complex'>
>>> type(3*15.6)
<class 'float'> 

本人独自运营了微信公众号,用于分享个人学习及工作生活趣事,大家可以关注一波。(微信搜索“微思研”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

⁣北潇

老板大气!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值