当前位置:首页 » 编程语言 » python有指针吗

python有指针吗

发布时间: 2022-04-27 15:03:32

python中.*和.*的区别

概要等式运算函数中参数的定义与调用定义函数时*的作用:out定义函数时:**OUTOUT调用函数时,和*均是为了分配参数用的调用函数时:*:调用函数时:**:

概要
关于""和"*"两个特殊符号的区别,首先在python中是没有指针的,与C++有很大的不同。
等式运算
python中常用的乘法运算符*
>>> 3*7
21
>>> l=[2 * i for i in range(100) ]
>>> l
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102,
104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198]

函数中参数的定义与调用
如果在定义函数时,代表收集参数,*代表收集关键字参数。
定义函数时*的作用:
def symbols(*params):
print(params)

out
symbols(1,2,3)
(1,2,3)

此时*是将调用时提供的所有值,放在一个元组里。
这种情况下,在函数定义时的形参里的*params后面,就最好不要再加入别的形参了,比如你定义成 def symbols(*params,x) ,调用的时候symbols(1,2,3),就会报错。因为这样python分不清哪个数据是给params的。如果你非要这么定义也行,不过在调用的时候,必须显示的指出哪个值是给x的。比如symbols(1,2,x=3),通过这种方式调用才不会出错。
定义函数时:**
对于之前参数是*params的情况,symbols并不能传入关键字参数。仍然采取这种方式定义时:会报错
def symbols1(*params):
print(params)

OUT
>>>symbols1(x=1,y=2,z=3)

Traceback (most recent call last):
File "<stdin>", line 1, in <mole>
TypeError: symbols1() got an unexpected keyword argument 'x'

报错
因为*号并不会收集关键字参数。所以需要如下方式修改,采用两个星号:
def symbols2(**params):
print(params)

这样调用symbols2就不会有问题:
OUT
>>> symbols2(x=1,y=2,z=3)

{'z'=3,'x'=1,'y'=2}

以上输出得到一个字典。字典中元素的先后顺序取决于你的环境。
调用函数时,和*均是为了分配参数用的
调用函数时:*:
例如,还是刚刚那个print函数
def symbols(x,y):
print(x)
print(y)

两个形参,如果只想传入一个形参呢
对,“调用函数时分配参数”跟“定义函数时收集参数”,反过来了!
假设你还有一个元组:
params=(1,2)

可以通过如下方式调用symbols函数:
>>> symbols(*params)
就可以输出:

1
2

调用函数时:**:
和上面*时一样,只是分配的是字典。
params={'x':1,'y':2}

可以通过如下方式调用symbols函数:
>>> symbols(**params)
就可以输出:

1
2

❷ Python中数组有类似C中指针吗 可以把一串数据赋值给数组 从数组第一个开始赋值

代码如下:

#coding=utf8

defdata(arr):
foriinrange(10):
arr.append(i)


if__name__=='__main__':

#定义一个数组
arr=[]

#通过方法data()为arr赋值
data(arr)

#输出数组
print(arr)

运行结果:

❸ Python有没有指针,下面的例子如何理解

python没有指针,但它也可以传引用
最简单的例子
def add(a, my_list=[]):
my_list.append(a)
print my_list
add(1) -> [1]
add(2) -> [1,2]
add(3) -> [1,2,3]
https://docs.python.org/2.7/tutorial/controlflow.html#default-argument-values

❹ python怎么使用指针

python 不像c, 没办法直接使用指针。指针就是内存地址。
python中,最接近指针的就是, id() 返回某个对象的唯一id,类似于地址了。

❺ 在python中,变量就是指针,可以这样理解么

不是。
应该是指向指针的指针,只不过变量本身的地址在python中不提供访问途径。也就是只能访问这个指针所指地址(指针)和此地址里的内容。
比如
python中 a="xyz"
a本身的地址(对应的C运算:&a)python里是没有办法看到的。
python的id(a),返回的是"xyz"在内存中的起始地址,而不是存储a变量本身的地址。

❻ Python中也有指针的概念吗

没有,python比较简单 容易理解。

❼ python 里边 有没有类似C++的 别名 或者 指针 的功能

楼上说的列表让我想起来,你可以利用列表的可变性,就是看起来有点怪:

>>>classfoo(object):
def__init__(self):
self.bar=['Initial']


>>>a=foo()
>>>a.bar[0]
'Initial'
>>>b=a.bar
>>>a.bar[0]='other'
>>>b[0]
'other'

❽ python小白的问题

首先python中不存在指针。如果非要说有,那么python的一切变量全是指针(比如a=1,python会在某处创建了整数1,然后把a指向这里)。open返回的一般称为文件对象。
这就是python。——“一切皆对象”
(另外,一般建议用with open("xxx.txt",'w') as tp: 后加语句块打开文件,这种方式会在语句块结束时自动关闭文件)

❾ python有一级指针和二级指针的概念吗

python把一切数据,一切的一切都看作对象,在python中,没有变量,只有指针,要说变量,也是指针变量。

热点内容
美嘉算法口诀 发布:2025-05-16 06:03:15 浏览:952
c程序编译连接 发布:2025-05-16 06:02:36 浏览:964
脚本魔兽 发布:2025-05-16 06:01:52 浏览:330
文件夹python 发布:2025-05-16 06:01:43 浏览:627
电脑我的世界服务器游戏币 发布:2025-05-16 05:27:25 浏览:487
索尼手机为什么不能用安卓10 发布:2025-05-16 05:18:46 浏览:784
蔚来es6选择哪些配置实用 发布:2025-05-16 05:18:05 浏览:130
小米如何扫码wifi密码 发布:2025-05-16 05:13:38 浏览:807
楼层密码是什么意思 发布:2025-05-16 05:13:37 浏览:13
创建文件夹失败 发布:2025-05-16 05:12:59 浏览:396