1、变量的定义

程序中,数据都是临时存储在内存中,为了更快速的查找或使用这个数据,通常我们把这个数据在内存中存储之后,给整个数据定义一个名称,这个名称就是变量。

变量就是在存储数据的时候,当前数据所在的内存地址的一个名字而已。

2、Python变量说明

  • Python中使用变量,不需要声明,直接为变量赋值即可。
  • 在Python中,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的数据。

    这种变量本身类型不固定的语言称之为动态类型语言,与之对应的是静态类型语言。静态类型语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错,例如Java是静态类型语言。和静态类型语言相比,动态类型语言更灵活,就是这个原因。
  • 不能使用没有进行过赋值的变量,如果使用没有赋值过的变量,会报错 NameError: name '变量名' is not defined
    # 直接执行下面命令
    # 结果:NameError: name 'a' is not defined
    print(a)

3、Python中定义变量

(1)定义语法

Python中定义变量的语法如下:

变量名 = 值
  • 变量名自定义,要满足标识符命名规则。
  • 编程中的等号是赋值的意思,程序在执行的时候是先计算等号右边的值,存储在一个内存空间中,然后把整个值存储的地址赋值给等号左边的变量。

(2)标识符定义规则

变量名、函数名、类名、包名、模块名等统称为标识符。

标识符命名规则是Python中定义各种名字的时候的统一规范,具体如下:

  • 由数字、字母、下划线组成。
  • 不能数字开头。
  • 严格区分大小写。
  • 不能使用内置关键字和保留字。

(3)内置关键字

被Python语言赋予了特定含义的一些字符,换句话说就是Python保留给自己的标识符。这些标识符我们不能再使用如果我们在进行定义,就会产生冲突。

Python中所有关键字都为小写字母,如下:

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

不用刻意去记每个关键字的用法和意义,后面学习中,陆陆续续都会接触到,自然而然就记住了。

注意:也别用Python API里面的函数名作为标识符,因为这样会导致函数被覆盖。(以后常用就知道了)

(4)标识符命名习惯

上边是定义标识符的规则,必须要遵守。命名习惯是一种标准的规范,不遵守也没事,只是不专业。

命名习惯类型

  • 见名知义:为了提高阅读性,经常用有意义的英文单词作为标识符。
  • 大驼峰:即每个单词首字母都大写,例如:MyName
  • 小驼峰:第二个(含)以后的单词首字母大写,例如:myName
  • 下划线:例如:my_name

Python具体名称规范

  • 包名:多单词组成时所有字母都小写。例如:xxxyyyzzz
  • 类名接口名:多单词组成时,所有单词的首字母大写。例如:XxxYyyZzz
  • 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写。例如:xxxYyyZzz
  • 常量名:所有字母都大写。多单词时每个单词用下划线连接。例如:XXX_YYY_ZZZ

4、使用变量

在Python中,先要定义一个变量,才能够使用一个变量。

#定义变量
my_name = 'TOM'
#使用变量
print(my_name) schoolName = '小二郎的学堂'
print(schoolName)

Python解释器在执行代码的过程当中,是按照代码的书写顺序,自上而下,一行一行顺序执行的。

Tips:应用程序执行原理

  • 程序 运行之前,程序是 保存在硬盘 中的。
  • 当要运行一个程序时:
    • 操作系统会首先让 CPU 把程序复制到 内存 中。
    • CPU 执行 内存 中的 程序代码。
  • 即:程序要执行,首先要被加载到内存

Tips:Python 程序执行原理

  • 操作系统会首先让 CPUPython 解释器 的程序复制到 内存 中。
  • Python 解释器 根据语法规则,从上向下 翻译 Python 程序中的代码。
  • CPU 负责执行翻译完成的代码。

参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1017063826246112

『无为则无心』Python基础 — 7、Python的变量的更多相关文章

  1. 『无为则无心』Python基础 — 4、Python代码常用调试工具

    目录 1.Python的交互模式 2.IDLE工具使用说明 3.Sublime3工具的安装与配置 (1)Sublime3的安装 (2)Sublime3的配置 4.使用Sublime编写并调试Pytho ...

  2. 『无为则无心』Python基础 — 6、Python的注释

    目录 1.注释的作用 2.注释的分类 单行注释 多行注释 3.注释的注意事项 4.什么时候需要使用注释 5.总结 提示:完成了前面的准备工作,之后的文章开始介绍Python的基本语法了. Python ...

  3. 『无为则无心』Python基础 — 9、Python字符串的编码与转义

    目录 1.查看变量类型 2.转义字符 (1)转义字符说明 (2)示例 (3)常用转义字符对照表 3.字符编码 (1)字符编码介绍 (2)Python中的字符编码 (3)编码格式应用于不同场景 提示:上 ...

  4. 『无为则无心』Python基础 — 10、Python字符串的格式化输出

    目录 1.什么是格式化输出 2.Python格式化输出的五种方式 方式一:字符串之间用+号拼接 方式二:print()函数可同时输出多个字符串 方式三:占位符方式 方式四:f格式化方式(推荐) 方式五 ...

  5. 『无为则无心』Python基础 — 12、Python运算符详细介绍

    目录 1.表达式介绍 2.运算符 (1)运算符的分类 (2)算数运算符 (3)赋值运算符 (4)复合赋值运算符 (5)比较运算符 3.逻辑运算符 拓展1:数字之间的逻辑运算 拓展2:Python中逻辑 ...

  6. 『无为则无心』Python序列 — 24、Python序列的推导式

    目录 1.列表推导式 (1)快速体验 (2)带if的列表推导式 (3)多个for循环实现列表推导式 2.字典推导式 (1)创建一个字典 (2)将两个列表合并为一个字典 (3)提取字典中目标数据 3.集 ...

  7. 『无为则无心』Python函数 — 29、Python变量和参数传递

    目录 1.Python的变量 (1)Python变量不能独立存在 (2)变量是内存中数据的引用 (3)注意点 2.了解变量的引用 3.Python的参数传递(重点) (1)示例 (2)结论 (3)总结 ...

  8. 『无为则无心』Python基础 — 8、Python中的数据类型(数值、布尔、字符串)

    目录 1.数据类型介绍 2.数值型(Number) 3.布尔型(bool) 4.None(空值) 5.常量 6.字符串(String) 1.数据类型介绍 (1)什么是数据类型 在生活中,我们日常使用的 ...

  9. 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)

    目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...

  10. 『无为则无心』Python基础 — 16、Python序列之字符串的下标和切片

    目录 1.序列的概念 2.字符串的下标说明 3.字符串的切片说明 1.序列的概念 序列sequence是Python中最基本的数据结构.指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通 ...

随机推荐

  1. MySQL备份脚本,应该这么写

    前言: 数据库备份的重要性不言而喻,特别是在生产环境,任何数据的丢失都可能产生严重的后果.所以,无论什么环境,我们都应该有相应的备份策略来定时备份数据库.在 MySQL 中,比较常用的逻辑备份工具是 ...

  2. Python数模笔记-NetworkX(2)最短路径

    1.最短路径问题的常用算法 最短路径问题是图论研究中的经典算法问题,用于计算图中一个顶点到另一个顶点的最短路径. 1.1 最短路径长度与最短加权路径长度 在日常生活中,最短路径长度与最短路径距离好像并 ...

  3. [算法] 单链表插入排序(java)

    实现 首先保证插入前的链表是个完整的,最后一个节点要断开 然后在插入前链表中找到比待插入节点大的最小元素,插到前面即可 Link.java class Link { private class Nod ...

  4. 用JIRA管理你的项目——(一)JIRA环境搭建

    JIRA,大家应该都已经不陌生了! 最初接触这个工具的时候,我还在一味地单纯依靠SVN管理代码,幻想着SVN可以有个邮件通知,至少在项目成员进行代码修改的时候,我可以第一时间通过邮件获得这个消息! 当 ...

  5. Qt事件与常用事件处理、过滤

    转载: https://blog.csdn.net/apollon_krj/article/category/6939539 https://blog.csdn.net/qq_41072190/art ...

  6. HAProxy与LVS综合----搭建LNMP源码编译结合HAProxy或LVS负载均衡

    实战一:实现LNMP与Keepalived.HAProxy做反向代理 框架图: 实现原理: 1.当A用户访问网站时,此时需要经过防火墙,防火墙将用户访问的IP地址处理后,如果允许访问,则就访问到HAr ...

  7. python基础之常用模块一(sys、greenlet、pymysql、paramiko、pexpect、configparser)

    一.sys模块(内置模块) 用于提供对解释器相关的操作 import syssys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...

  8. Linux进阶之补充知识篇

    一.Linux系统的主要特点: 开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准 多用户:允许多个用户从相同或不同终端上同时使用同一台计算机 多任务:它是指计算机同时执行多个程 ...

  9. 第35章-CentOS7实战

    补充安装软件包 yum -y install vim lrzsz bash-completion telnet nmap 关闭selinux:/etc/selinux/config 关闭防火墙:sys ...

  10. 一个很好的网站 有3D漂浮框 有动态小人数字时钟

    http://www.cnblogs.com/jingmoxukong/p/7867397.html