专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

python中怎么定义变量类型,Python中的变量引用对象需注意的几点_python

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/5 12:14:57       共计:3568 浏览
python中怎么定义变量类型以及Python中的变量引用对象需注意的几点这样的疑问,小编汇总了相关问答给大家参考!

给你介绍python中普通引用和共享引用在引用对象中需要注意的点:

普通引用:

Python中,变量的作用仅仅是一个标识,只有赋值后才被创建,它可以引用任何类型的对象,而且在引用之前必须赋值。赋值后的变量指向响应的对象,拥有该对象的空间。类型属于对象,但是不是变量。

[python]

view plain copy

a = 3

a = "science"

上述代码说明数值3和字符串“science”分别是两种对象,初始变量a赋值对象3被创建,变量a指向对象3的内存空间,之后变量a又指向了字符串的内存空间。

共享引用:

[python]

view plain copy

a = 3

b = a

上述代码说明变量a,b同时引用了对象3,两个变量引用了相同的对象。正是因为两者都是指向了相同的对象,所以当其中一个变量引用其他对象的时候,不会对另一个变量造成影响。例如:

[python]

view plain copy

a = “science”

在上面代码的基础上,变量a引用了字符串对象“science”,此时变量b依旧引用对象3,而不是“science”。

但是有些对象的操作会在原处修改,例如列表。例如:

[python]

view plain copy

a = [1,2,3]

b = a

变量a,b应用了包含1,2,3对象的列表,自然而然的a[0]引用对象1,如果在变量a中执行操作

[python]

view plain copy

a[0] = 4

那么变量b就变随之变为[4,2,3]。避免这种情况可以使用copy操作,替换引用操作。

示例说明:

内置函数isinstance(object, (type1,type2…))

isinstance('content', str)

返回True or False

使用内置函数type(object)

print(type(1))

print(type('content'))

输出

<type 'int'> #返回整形

<type 'str'> #返回字符串

python 里面定义一个类还是比较简单的,我举个例子说明

market.py

# 定义类名

class TMarket:

#定义一个类变量

id = 0

#定义设置方法

def set_id(self, id ):

this.id = id

#定义查询方法

def get_id(self):

return this.id

在其他py里面调用上面的类,如下:

#引用文件,声明类

from market import TMarket

# 创建类实例

md = TMarket()

#调用方法

md.set_id( 3 )

#打印调用结果

print( md.get_id() )

回答这个问题,就得谈谈python中的对象引用机制和动态类型。的确,python使用变量的时候都没有声明变量的类型,这一点和C语言不同。但是,变量还可以工作,因为在python中类型是在运行的过程中自动决定的,而不是通过代码声明的,这意味着没有必要事先声明变量。

在python中,我们要明确一个概念:变量名和对象是划分开的,变量名永远没有任何关联的类型信息,类型是和对象关联的,而不存在于变量名中。一个变量名当第一次被赋值的时候被创建,而当新的赋值表达式出现时,他会马上被当前新引用的对象所代替。这就是python所谓的动态类型机制。具体看一个例子:

结合上面这个例子,我们再来从头仔细理一理:

1、创建了一个字符串对象’abcde’,然后创建了一个变量a,将变量a和字符串对象’abcde’相连接,

2、之后又创建了一个列表对象[1,2,3,4,5],然后又将他和a相连接。

这种从变量到对象的连接,我们称之为引用,以内存中的指针形式实现。因此直白的说,在内部,变量事实上是到对象内存空间的一个指针,而且指向的对象可以随着程序赋值语句而不断变化。

总结一下:变量名没有类型,只有对象才有类型,变量只是引用了不同类型的对象而已。每一个对象都包含了两个头部信息,一个是类型标志符,标识这个对象的类型,以及一个引用的计数器,用来表示这个对象被多少个变量名所引用,如果此时没有变量引用他,那么就可以回收这个对象。

关于数据科学更系统、更深入的探讨可进入我们的专栏《Python数据科学之路》:

酱油哥:来吧,一起踏上Python数据科学之路

本专栏模仿美剧剧集编排分为五季,第一季:Python编程语言核心基础、第二季:Python数据分析基本工具、第三季:Python语言描述的数学基础、第四季:机器学习典型算法专题、第五季:实战热点深度应用。

总结,以上就是关于python中怎么定义变量类型以及Python中的变量引用对象需注意的几点的经验分享,卡友有疑问可以加wx或扫码加群!
版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:java培训班出来的都怎么样了,java培训之后,月薪有可能过万吗?前景好吗_python | ·下一条:python编辑器,想自学python,用什么编译器比较好_python
同类资讯

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有