Python 变量

前面我们简单了解了在pycharm中如何快速的创建一个python程序。从本篇开始我们一起来学习以下python的基础知识。俗话说得好,工欲善其事必先利其器,只有打好基础才能去接触那些更高级的东西,要不然,整天只会写写控制台代码,也不是一件很光彩的事情。

本篇我们就来看一下python中的变量。

变量在程序语言中的是非常常见的一个概念,变量是保存存储值的内存位置。也就是说,当创建一个变量时,可以在内存中保留一些空间。基于变量的数据类型,解释器分配内存并决定可以存储在保留的存储器中的内容。 因此,通过为变量分配不同的数据类型,可以在这些变量中存储的数据类型为整数,小数或字符等等。

在高级语言中,变量是其内存及地址的抽象概念。简单来说我们可以通过变量查找到我们实际存储在内存中的数据 。就像我们每个人都有名字,在一个班级里面只要叫你的名字,大伙马上就能知道在叫谁一样。

说道这里,我们再了解一下引用语义和值语义这两个概念。

引用语义:在python中,变量保存的是对象(值)的引用,我们称为引用语义。采用这种方式,变量所需的存储空间大小一致,因为变量只是保存了一个引用。也被称为对象语义和指针语义。

值语义:有些语言采用的不是这种方式,它们把变量的值直接保存在变量的存储区里,这种方式被我们称为值语义,例如C语言,采用这种存储方式,每一个变量在内存中所占的空间就要根据变量实际的大小而定,无法固定下来。

到这里我们就不在赘述了,下面我们通过代码来实际看一下python中变量的申明和使用。

我们在前面一章的hello world程序基础上增加一个变量。

print("hello world");

str1= "hello world";

print(str1);

运行这个程序,你就会发现两者的输出是相同的。

hello world
hello world

下面我们在来扩展一下这个程序,我们仍然使用变量str1,然后对齐重新赋值,打印一条新的消息。

str1 = " hello world";

print(str1);

str1 = "new hello world";

print(str1);

再运行程序,你将会看到下面两行输出结果:

hello world
new hello world

在python程序中是可以随时改变变量的值的,当然了也可以改变值的类型,上面我们都是使用字符串来演示,主要是为了向大家说明一下在内存中变量的存储变化,大家可以参考下图:
这里写图片描述

上面的图大家可以看出来,变量的每一次初始化,都开辟了一个新的空间,然后将新内容的地址赋值给变量。

上面也说过了,变量的类型也是可以动态修改的,这点和java这样的语言(静态语言)是有区别的,java中定义好的变量是无法修改其类型的。

str1 = "new hello world";

print(str1);

str1 = 25;

print(str1);

输出:

new hello world
25

变量的命名规范
无规矩不成方圆,不管是哪一种语言我们都的遵循默认的规则。一方面是避免我们出错,另一方面也是为了我们的程序有更好的可读性。

1.变量只能包含字母,下划线和数字。变量名开头必须以下划线或者字母开头,不能以数字开头。

py1 = "hello world";
py_str1 = "new hello world";
1_py = 25;

试着运行:

  File "D:/Programs/python/HelloWorld/hello_world.py", line 3
    1_py = 25;
     ^
SyntaxError: invalid token

2.变量名中不能包含空格。

py str = 25;

这样的写法显然是错误的,其实想想大家都很好理解了,计算机在厉害也不可能明白中间有个空格是什么意思吧,只能是把空格两边的东西当成两个不同的东西,当然就不能用来当名字了。

错误的话也顺便贴出来:

  File "D:/Programs/python/HelloWorld/hello_world.py", line 5
    py str = 25;
         ^
SyntaxError: invalid syntax

3.不要使用python关键字,这点很好理解。

关键字 含义
False   布尔类型的值,表示假,与 True 相反
None    None 比较特殊,表示什么也没有,它有自己的数据类型 - NoneType。
True    布尔类型的值,表示真,与 False 相反
and     用于表达式运算,逻辑与操作
as      用于类型转换
assert  断言,用于判断变量或者条件表达式的值是否为真
break   中断循环语句的执行
class   用于定义类
continue    跳出本次循环,继续执行下一次循环
def     用于定义函数或方法
del     删除变量或序列的值
elif    条件语句,与 ifelse 结合使用
else    条件语句,与 if、elif 结合使用。也可用于异常和循环语句
except  except 包含捕获异常后的操作代码块,与 tryfinally 结合使用
finally 用于异常语句,出现异常后,始终要执行 finally 包含的代码块。与 tryexcept  结合使用
for for 循环语句
from    用于导入模块,与 import 结合使用
global  定义全局变量
if      条件语句,与 else、elif 结合使用
import  用于导入模块,与 from 结合使用
in      判断变量是否在序列中
is      判断变量是否为某个类的实例
lambda  定义匿名函数
nonlocal    用于标识外部作用域的变量
not     用于表达式运算,逻辑非操作
or      用于表达式运算,逻辑或操作
pass    空的类、方法或函数的占位符
raise   异常抛出操作
return  用于从函数返回计算结果
try try 包含可能会出现异常的语句,与 exceptfinally 结合使用
while   while 循环语句
with    简化 Python 的语句
yield   用于从函数依次返回值

当然了还有其他的一些这里就不再列出来了。大伙可以自己通过python函数打印以下看看。

import  keyword

print(keyword.kwlist);

输出:

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值