变量以及数据类型

一、变量的定义

对于重复使用,并且经常需要修改的数据,可以定义为变量,来提高编程效率。

定义变量的语法为: 变量名 = 变量值。(这里的 = 作用是赋值。)

定义变量后可以使用变量名来访问变量值。

如下示例:

# 不使用变量打印三次 "今天天气真好",如果需要变成打印 "今天天气不好" 需要修改三行代码
print("今天天气真好")
print("今天天气真好")
print("今天天气真好")


# 定义一个变量表示这个字符串。如果需要修改内容,只需要修改变量对应的值即可
weather = "今天天气真好"
print(weather)  # 注意,变量名不需要使用引号包裹
print(weather)
print(weather)

说明:

  • 所谓变量名,可以理解为箱子,当需要使用变量值,就把对应的箱子拿来。
  • 变量即是可以变化的量,可以随时进行修改。
  • 程序就是用来处理数据的,而变量就是用来存储数据的。

二、变量的类型

程序中: 在 Python 里为了应对不同的业务需求,也把数据分为不同的类型。 如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oLIHpPIT-1691466461573)(图片链接)]

三、查看数据类型

  • 在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别。也就是说在使用的时候 "变量没有类型,数据才有类型"。

  • 比如下面的示例里,我们没法预测变量 b 的类型,但是 a 的类型可以根据数据来确认。 在这里插入图片描述

  • 如果临时想要查看一个变量存储的数据类型,可以使用 type(变量的名字),来查看变量存储的数据类型。

标识符和关键字

标识符

在这里插入图片描述

计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。

命名规则

  • 标识符由字母、下划线和数字组成,且数字不能开头。
  • 严格区分大小写。
  • 不能使用关键字。

思考:下面的标识符哪些是正确的,哪些不正确为什么

  • fromNo12 (正确)
  • from#12 (错误,不能使用特殊字符)
  • my_Boolean (正确)
  • my-Boolean (错误,不能使用连字符)
  • Obj2 (正确)
  • 2ndObj (错误,不能以数字开头)
  • myInt (正确)
  • test1 (正确)
  • Mike2jack (正确)
  • My_tExt (正确)
  • _test (正确)
  • test!32 (错误,不能使用特殊字符)
  • haha(da)tt (错误,不能使用特殊字符)
  • int (错误,是关键字)
  • jack_rose (正确)
  • jack&rose (错误,不能使用特殊字符)
  • GUI (正确)
  • G.U.I (错误,不能使用特殊字符)

命名规范

  • 标识符命名要做到顾名思义。
  • 起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可读性) 比如: 名字 就定义为 name , 定义学生 用 student
a = "zhangsan"  # bad
name = "zhangsan"  # good
b = 23   # bad
age = 23 # good
  • 遵守一定的命名规范。
    • 驼峰命名法,又分为大驼峰命名法和小驼峰命名法。 在这里插入图片描述
    • 小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
    • 大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName.
  • 还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf. Python的命令规则遵循PEP8标准:
    • 变量名,函数名和文件名全小写,使用下划线连接;
    • 类名遵守大驼峰命名法;
    • 常量名全大写;

关键字

关键字的概念一些具有特殊功能的标识符,这就是所谓的关键字。 关键字,已经被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