Python变量及数据类型用法原理汇总
作者:小名叫小明 发布时间:2022-12-04 11:11:41
变量(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() 函数无法将一个非数字字符串转换成整数。
来源:https://www.cnblogs.com/studyming/p/13403023.html


猜你喜欢
- Bootstrap提供了四种用于<img>类的样式,分别是:.img-rounded:圆角 (IE8 不支持),添加 borde
- 我对定格动画非常喜爱,也曾经在大学毕业时期制作过一部个人定格动画MV.恰当给CDC博客写文之机,给大家介绍下定格动画,分享下这门独特的拍摄艺
- 大家做网站,特别是自己写的代码,常常担心被一些黑客入侵服务器,从而导致网站代码被盗,给自己带来一些损失。那么我们怎么样做,就算黑客盗了你的代
- Django是一个基于Python Web框架的高级Web框架,允许快速开发和干净,务实的设计。今天,我们将创建一个待办事项应用程序,以了解
- 本文为大家分享了linux yum安装mysql5.6简单过程,供大家参考,具体内容如下1.新开的云服务器,需要检测系统是否自带安装mysq
- 1.唯一性以下方法可以检查给定列表是否有重复的地方,可用set()的属性将其从列表中删除。x = [1,1,2,2,3,2,3,4,5,6]
- 类中的七种语法说明-属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数<?php class Stud
- python中冒号实际上有两个意思:1.默认全部选择;2. 指定范围。 下面看例子定义数组X=array([[1,2,3,4],[5,6,7
- 环境:python-3.6.5JSONJSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人
- 最近在做文章页盖楼显示的项目,数据来源是跟贴系统生成的UTF8格式的JSON数据。文章页的HTML编码格式是GB2312,在javascri
- python是很容易上手的编程语言,但是有些时候使用python编写的程序并不能保证其运行速度(例如:while 和 for),这个时候我们
- vue中为何方法要写在methods里面1.methods是什么?首先先来段代码,我们在template中设定一个按钮,在点击按钮的时候打印
- 存储过程功能的优点为什么要使用存储过程?以下是存储过程技术的几大主要优点:预编译执行程序。SQL Server只需要对每一个存储过程进行一次
- link(){var olink = getElementById("link");var text = olink.i
- 功能1: 爬取西拉ip代理官网上的代理ip环境:python3.8+pycharm库:requests,lxml浏览器:谷歌IP地址:htt
- 创意404页面的文章我们似乎已经出过两篇了,今天hongkiat又带来了60个创意404页面.相关404页面设计文章:国外404错误页面的创
- MySQL出现乱码的原因要了解为什么会出现乱码,我们就先要理解:从客户端发起请求,到MySQL存储数据,再到下次从表取回客户端的过程中,哪些
- 当你连接到MySQL服务器时,你应使用一个密码。密码不以明文在上传输。客户端连接序列中的密码处理在MySQL 4.1.1中已经升级,很安全。
- 有些时候我们不得已要利用values来反向查询key,有没有简单的方法呢?下面我给大家列举一些方法,方便大家使用python3>>
- 背景我打开手机,发现有人在QQ空间里叫嚣。看他得意的样子,显然是在家里呆久了,已经忘了天有多高。预处理设计一个迷宫自动寻路算法并不难,但是对