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)
# 123
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)
# 246
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)
# 246
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)
# 2

    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))
# 140734656708688

在上面的例子中,我们看到的都是赋值单个元素,那么可不可以赋值多个元素呢?

答案是肯定的。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

原文地址:https://www.cnblogs.com/hany-postq473111315/p/12258952.html

时间: 2024-10-18 13:45:04

Python 变量类型及变量赋值的相关文章

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

linux——Shell 脚本基础篇(变量类型,变量操作,定义,运算与逻辑关系)

Shell 脚本基础 1.变量 什么是变量 #a=1 # echo $a 1 变量:可以变化的量 1.2变量名称注意事项 变量名不能以数字开头 不能与系统中已有的环境变量重名,尽量不要全部使用大写,尽量不要使用"_"下划线开头 最好做到见名知意 不能使用程序中的保留字,列如if,for等 1.3变量类型 字符型 数值型 整型浮点型 布尔型 条件是和否 #$echo $a 引用 abc 撤销 unset +(变量名)a 1.4变量操作 * 设置变量 * 引用变量 * 撤销变量 单引号和双

python元组类型的变量以及字符串类型的变量作为参数进行传值

今天做selenium元素对象剥离时(我把元素对象都放到了元组类型的变量中,格式:user = (“id”,“X-Auto-2”)),遇到一个元组变量,以及str字符串变量一起作为参数传值的问题,发现输出的字符串是元组中的第一个数值,研究了大半天,终于搞明白啦. 1.函数中传参时,各变量类型是有先后顺序的,如:def name(x,x,*lo,**loo),整型.字符串等类型必须放在元组(*号开头)和字典(**两个星号)前面 2.如:def name(self,x,x,*lo,**loo),传参

说说javascript变量类型和变量类型检测

javascript是一种弱类型语言,它的典型例子就是即变量在使用的时候可以给它赋值任何类型.那么先来看下javascript都有那些变量类型已经它们的使用方法吧. 先来看看javascript都有那些类型吧: string --- 字符串number --- 数值boolean --- 布尔值undefined --- 未申明的变量 或 申明并未赋值null --- 空object  --- 对象function  --- 函数 这里比较有争议的是 function 类型到底要不要归属到变量类

MySQL服务 - MySQL变量类型及变量设置

一.MySQL变量类型: MySQL通过变量来定义当前服务器的特性,保存状态信息等.我们可以通过手动更改变量的值来配置MySQL,也可以通过变量获得MySQL的当前状态信息.MySQL的变量类型可以从变量的修改方式和变量的生效范围划分. 1.根据变量修改的方式: 动态变量:可以在MySQL运行时调整其指,并立即生效: 静态变量:需要在配置文件中修改,重启服务后生效: 2.根据变量的生效范围: 全局变量:服务级别的设定,对整个服务生效: 会话变量:仅对当前会话生效,其他会话和新会话不受影响:会话结

Python文件类型,变量及字符串

1. 文件类型: (1)源代码: vim test.py #!/usr/bin/python print 'hello world!' 运行方法1: [[email protected] python]# python test.py hello world! [[email protected] python]# 运行方法2: [[email protected] python]# chmod +x test.py [[email protected] python]# ./test.py h

js声明引入和变量声明和变量类型、变量

问题: 在网页的发展历程中,发现网页不能对用户的数据进行自动校验,和提供一些特效. 解决: 使用javascript. 作用 可以让网页和用户进行直接简单的交互. 可以让网页制作特效和动画. 声明js代码域 1.<script type="text/javascript"></script> 2.<script src="js/my.js" type="text/javascript" charest="u

shell编程变量及变量类型

编程语言:包括机器语言.汇编语言.{高级语言[静态语言(编译型语言,一般为强类型变量,需要发布为可执行程序,C.C++.Java,C#)和动态语言(解释型语言,一般为弱类型语言,不需要发布为可执行程序,是一边执行一边解释,Asp,asp.net,php,shell,python.perl)]} 面向对象:解决对象之间的动作,主要适合开发大型程序java,python,c++,perl 面向过程:主要解决过程,主要适合开发小型程序shell,c 变量:是内存空间,是命名的内存空间,存储数据的存储格

python的数据类型与变量

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形. 音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-