Python 变量类型及变量赋值
在 Python 中,变量不一定占用内存变量。变量就像是对某一处内存的引用,可以通过变量访问到其所指向的内存中的值,并且可以让变量指向其他的内存。在 Python 中,变量不需要声明,但是使用变量之前,一定要先对变量进行赋值。当创建了一个新对象时,Python 会向操作系统请求内存,Python 本身实现了内存分配系统。变量类型指的是变量所指向的内存中 对象 的类型。Python 中变量赋值使用 = 等号,等号左面为创建的变量,等号右面为需要的值。
# #创建一个变量名为 a 的变量
# a = 3
# # 创建了一个 a 变量
# # 对 a 变量进行输出
# print("a = ",a)
# # a = 3
# print("a 变量存储数据的类型为:",type(a))
# # a 变量存储数据的类型为: <class 'int'>
# print("a 变量的地址为:",id(a))
# # a 变量的地址为: 140734656704848 # # 修改 a 的指向
# a = 4
# print("a = ",a)
# # a = 4
# print("a 变量存储数据的类型为:",type(a))
# # a 变量存储数据的类型为: <class 'int'>
# print("a 变量的地址为:",id(a))
# # a 变量的地址为: 140734656704880
变量包含的内容主要包含四个方面:
1.变量的名称:在对变量赋值时也就是创建变量时所使用的名字。注:根据标识符规则。
2.变量保存的数据:通常为赋值时 = 等号 右面的对象。
对象主要包括:
①.数字:int 、float 、complex 、bool、表达式、函数调用返回值等。
数字: int 表示整数,包含正数,负数,0
float 表示浮点数,带有小数点的数
complex 表示复数,实部 + 虚部 J 或 j 均可
a = 1+2J
b = 5+6j
print("a = {0},b = {1}".format(a,b))
# a = (1+2j),b = (5+6j)
bool 布尔类型,True 为真,False 为假
②.字符串:字符串变量、带有" "的字符串、表达式、函数调用的返回值等。
注:Python3 以 Unicode 编码方式编码。
使用双引号 " " 或单引号 ' ' 创建字符串或者进行强制转换 str 。
③.列表:列表变量、带有 [ ] 的对象、表达式、函数调用的返回值等。
使用了 [ ] 的,[ ] 内可以是数字,字符串,字典,元组,列表,集合,表达式等。
# lst = [1,2,3]
# print(lst)
# # [1, 2, 3]
#
# lst = [1.1,2.2,3.3]
# print(lst)
# # [1.1, 2.2, 3.3]
#
# lst = [1.3+4j,2+5J,3+9j]
# print(lst)
# # 复数
# # [(1+4j), (2+5j), (3+9j)]
#
# lst = ['1','2','3']
# print(lst)
# # ['1', '2', '3']
#
# lst = [{'a':1},{'b':2},{'c':3}]
# print(lst)
# # [{'a': 1}, {'b': 2}, {'c': 3}]
#
#
# lst = [(1,2,3)]
# print(lst)
# # [(1, 2, 3)]
#
# lst = [{1,2,3}]
# print(lst)
# # [{1, 2, 3}]
④.元组:元组变量、带有逗号的或被( )包围的多个变量或值、表达式、函数调用的返回值等。
空元组 ( )
创建一个只包含数字 1 的元素的元组 (1,) 注:一定要带有 , 号
创建包含多个元素的元组,可以直接用 (元素1,元素2,...,元素n) 赋值
或者元素1,元素2,...,元素n ,使用,逗号进行赋值
⑤.集合:空集合 set( )、使用了{ }的内部为单个变量或值、表达式、函数调用的返回值等。
空集合 set( )
创建多个元素的集合,{元素1,元素2,...,元素n}
注:集合中元素不重复,可利用此特性判断别的序列对象是否存在重复元素。
⑥.字典:字典变量、带有 {键:值} 的变量或值、表达式、函数调用的返回值等。
空字典 { }
创建多个元素的字典,变量名 = {键1:值1,键2:值2,...,键n:值n}
⑦.类:通常为类创建实例时,函数调用的返回值等。
class关键字声明。
⑧.函数:函数名、函数调用等。
def 关键字声明,在函数前可能会有装饰器。另外,函数可以嵌套函数,当内部函数使用了外部函数的某些对象时称为闭包函数。
注:表达式是指关于对象之间的运算。
下面以数字数据类型为例:
# 数字数据类型
num_int = 123
print(num_int)
#
num_float = 2.4
print(num_float)
# 2.4
num_complex = 5+6j
print(num_complex)
# (5+6j)
num_bool_true = True
print(num_bool_true)
# True # bds 表达式的意思, 只计算最简单的表达式
num_int_bds = num_int + num_int
print(num_int_bds)
#
num_float_bds = num_float + num_float
print(num_float_bds)
# 4.8
num_complex_bds = num_complex + num_complex
print(num_complex_bds)
# (10+12j)
num_bool_true_bds = not num_bool_true
print(num_bool_true_bds)
# False # 定义一个具有返回值的函数
def add(x):
''' 对 x 进行相加操作'''
return x+x num_int_def = add(num_int)
print(num_int_def)
#
num_float_def = add(num_float)
print(num_float_def)
# 4.8
num_complex_def = add(num_complex)
print(num_complex_def)
# (10+12j)
num_bool_true_def = add(num_bool_true)
print(num_bool_true_def)
#
3.变量存储数据的类型,可以通过 type(变量名) 函数获取。对数字数据类型使用 type 函数如下:
num_int = 123
print(type(num_int))
# <class 'int'> num_float = 12.23
print(type(num_float))
# <class 'float'> num_bool = True
print(type(num_bool))
# <class 'bool'> num_complex = 5+6j
print(type(num_complex))
# <class 'complex'>
4.变量的地址,也就是所指向的内存中的地址。使用 id(变量名) 函数获取。
# 查看 a 的内存地址
a = 123
print(id(a))
#
在上面的例子中,我们看到的都是赋值单个元素,那么可不可以赋值多个元素呢?
答案是肯定的。Python支持同时为多个变量赋值,如下所示:
# #多个变量进行赋值
# a = b = c = 1
# print("a = {0}, b = {1}, c = {2}".format(a,b,c))
# # a = 1, b = 1, c = 1
#
# a,b = 1,2
# print("a = {0},b = {1}".format(a,b))
# # 注 a,b 多用于交换 a,b 两个元素的值
# # 接收函数返回的两个值
# # 接收元组等序列对象的前两个值
# # a = 1,b = 2
# # 1.交换两个元素的值
# a,b = b,a
# # 进行交换 a b 两个对象的指向
# print("a = {0},b = {1}".format(a,b))
# # a = 2,b = 1
#
# def hello_world():
# # 返回两个字符串的函数
# return "hello","world"
#
# a,b = hello_world()
# # a 接收第一个返回的对象,b 接收第二个 如果还有元素接收,则依次递增
# print(a,b)
# # hello world
# tuple_1 = (5,6)
# # 创建一个元组
# a,b = tuple_1
# print("a = {0},b = {1}".format(a,b))
# # a 接收第一个返回的对象,b 接收第二个 如果还有元素接收,则依次递增
# # a = 5,b = 6
2020-02-04
Python 变量类型及变量赋值的更多相关文章
- python list类型的变量相当于全局变量 可以被函数与类引用
python list类型的变量相当于全局变量 可以被函数与类引用
- python元组类型的变量以及字符串类型的变量作为参数进行传值
今天做selenium元素对象剥离时(我把元素对象都放到了元组类型的变量中,格式:user = (“id”,“X-Auto-2”)),遇到一个元组变量,以及str字符串变量一起作为参数传值的问题,发现 ...
- Python变量类型及变量
python是解释性语言 什么是解释性语言 就相当于你去饭店,你点了10道菜,他做好1道给你上1道.解释一行,执行一行.速度上不如编译性语言快. 什么是编译性语言 就相当于去饭店吃饭,你点了10道菜, ...
- MySQL服务 - MySQL变量类型及变量设置
一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从 ...
- js基础知识--变量类型和变量计算
提问: JS中使用typeof能得到的哪些类型 何时使用===何时使用== JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 如何理解JSON 涉及知识点:(1)变量类型 值类型 ...
- PyCharm 怎么查看 Python 的变量类型和变量内容
一.在程序的某一行添加断点 二.选择 debug 程序
- js声明引入和变量声明和变量类型、变量
问题: 在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效. 解决: 使用javascript. 作用 可以让网页和用户进行直接简单的交互. 可以让网页制作特效和动画. 声明js ...
- SQL获取变量类型以及变量最大长度
DECLARE @Temp nvarchar(1050)='' SELECT CAST(SQL_VARIANT_PROPERTY(@Temp, 'BaseType') AS VARCHAR(50))S ...
- python应用(5):变量类型与数据结构
如前所说,写程序如同给算法写壳,而算法就是流程,所以流程是程序的主角(但这个流程不一定要你来设计).在程序中,为了配合流程(算法)的实现,除了顺序.分支与循环语句的使用,还要借助"变量&qu ...
随机推荐
- Java项目开启远程调试(tomcat、springboot)
当我们运行一个项目的时候,一般都是在本地进行debug.但是如果是一个分布式的微服务,这时候我们选择远程debug是我们开发的利器. 环境apache-tomcat-8.5.16 Linux 如何启用 ...
- C++ MFC 文件操作(新建,删除,剪切,复制,读数据,写数据,重命名)
源文件:http://pan.baidu.com/s/1ve0hV 这是运行mfc缺失的dll动态链接库:http://pan.baidu.com/s/17pGlT 哈哈,我也是初接触C++,基础的什 ...
- 特殊方格棋盘【状压DP】
特殊方格棋盘[状压DP] 讲真状压DP这个东西只不过是有那么亿丢丢考验心态罢了(确信) 先从板子题说起,另加一些基础知识 题目描述 在的方格棋盘上放置n 个车,某些格子不能放,求使它们不能互相攻击的方 ...
- 如何基于 echarts 实现区间柱状图(包括横向)?
目录 需求 借鉴 echarts 的 demo 最终实现思路 实现效果 遇到的问题: 代码映射 源码 最后 始终如一 需求 需要利用 echarts 实现区间柱状图,效果如下: 效果来源于:g2-柱状 ...
- rsync+inotify 备份
一,服务端安装(备份服务器): #安装rsync cd /usr/local/src/ wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.ta ...
- Tallest Cow,题解
题目链接 题意: 问满足一系列形如ab可以相互看到的约束的所有奶牛的最大身高(最高的编号和高度已给出) 分析: 首先,这个可以互相看到指的是中间的人比两头的都矮,一条斜线看到的不行,那么其实我们就可以 ...
- Flask——实现上传功能
1.实例 #!-*-coding=utf-8-*- # from flask import Flask # # app = Flask(__name__) # # # @app.route('/') ...
- 【XCTF】Cat
标签:宽字节.PHP.Django.命令执行 解题过程 目录扫描没有发现任何可疑页面. 测试输入许多域名,均没有反应:输入ip地址得到回显. 猜测为命令执行,尝试使用管道符拼接命令. 测试:|.&am ...
- JVM 专题六:运行时数据区(一)概述
1. 运行时数据区架构图 2. 内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行.JVM内存布局规定了JAVA在运行过程中内存申请.分配.管理的策略, ...
- Python之介绍、基本语法、流程控制
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...