快活林资源网 Design By www.csstdc.com

变量(Variable)可以看成一个小箱子,专门用来“盛装”程序中的数据。每个变量都拥有独一无二的名字,通过变量的名字就能找到变量中的数据。

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

1. Python变量的赋值

在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。每个变量在使用前都必须赋值,变量赋值以后,该变量才会被创建。

Python 使用等号=作为赋值运算符,具体格式为:

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

变量的值不是一成不变的,它可以随时被修改,只要重新赋值即可。

2. Python变量的命名

  • 变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头。
  • 变量名是严格区分大小写的。
  • 变量名不能包含空格、@、% 以及 $ 等特殊字符。
  • 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如print。
  • Python 语言中,以下划线开头的标识符有特殊含义。
    • 以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from...import* 的方式导入;
    • 以双下划线开头的标识符(如__add)表示类的私有成员;
    • 以双下划线作为开头和结尾的标识符(如 init),是专用标识符。
  • 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好。
  • 慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
  • Python 允许使用汉字作为标识符,但我们应尽量避免使用汉字作为标识符,这会避免遇到很多奇葩的错误。

查看 Python 中的保留关键字

> import keyword
> print(keyword.kwlist)

'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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'

3. Python变量的类型(弱类型语言)

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

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

弱类型语言有两个特点:

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

注意,弱类型并不等于没有类型!弱类型是说在书写代码时不用刻意关注类型,但是在编程语言的内部仍然是有类型的。

Python中数据类型可以分为数字型和非数字型。

  • 数字型
    • 整型 (int)
    • 浮点型 (float)
    • 布尔型 (bool)
    • 复数型 (complex)
  • 非数字型
    • 字符串 (String)
    • 列表 (list)
    • 元组 (tuple)
    • 集合 (set)
    • 字典 (dict)

我们可以使用内置函数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'>

4. Python变量数据类型的转换

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 height 的值,如果在交互式解释器中执行如下代码:

height = 70.0
print("您的身高"+height)
# Traceback (most recent call last):
# File "<pyshell#1>", line 1, in <module>
# print("您的身高"+height)
# TypeError: must be str, not float

你会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量 height 转换为字符串才可以。

Python 已经为我们提供了多种可实现数据类型转换的函数.

函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real,[,imag]) 创建一个复数 str(x) 将 x 转换为字符串 repr(x) 将 x 转换为表达式字符串 eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象 chr(x) 将整数 x 转换为一个字符 ord(x) 将一个字符 x 转换为它对应的整数值 hex(x) 将一个整数 x 转换为一个十六进制字符串 oct(x) 将一个整数 x 转换为一个八进制的字符串

需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

快活林资源网 Design By www.csstdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
快活林资源网 Design By www.csstdc.com

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?