python中函数赋值 python函数赋值给变量

Python中的赋值,浅拷贝和深拷贝的区别

赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。

十余年的城子河网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整城子河建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“城子河网站设计”,“城子河网站推广”以来,每个客户项目都认真落实执行。

浅拷贝:创建一个新的对象,但它包含的是对原始对象中包含项的引用(如果用引用的方式修改其中一个对象,另外一个也会修改改变){1,完全切片方法;2,工厂函数,如list();3,copy模块的copy()函数}

深拷贝:创建一个新的对象,并且递归的复制它所包含的对象(修改其中一个,另外一个不会改变){copy模块的deep.deepcopy()函数}

python中赋值问题can't assign to literal?

python没有大括号,大括号是C/C++、Java等语言用于标记语句块的语法,Python通过缩进标记语句块,不需要大括号。

a=1,b=1拆成2条语句,或者写成a=b=1

F=a+b,b=a,a=F

把上面的语句拆分成三条语句即可。

函数

Python的函数支持递归、默认参数值、可变参数,但不支持函数重载。为了增强代码的可读性,可以在函数后书写“文档字符串”(Documentation Strings,或者简称docstrings),用于解释函数的作用、参数的类型与意义、返回值类型与取值范围等。可以使用内置函数help()打印出函数的使用帮助。

以上内容参考:百度百科-Python

浅谈python中的变量赋值

在python中,变量赋值的语法比较简单,语法就是 “变量名 = 对象”,由于python属于动态语音,所以不需要像c、 java那样在变量赋值时需要声明变量的类型。

c 变量赋值

int x = 1;

python 变量赋值

x = 1

y = "hello world!"

a = [1, 2]

b = ('a', 'b')

c = {"foo": "bar"}

python 变量赋值中,所涉及到的变量命名是有一定规则的:

1. 变量名只能包含字母、数字和下划线。变量名可以字母或下划线开头,但不能以数字开头,例如,可将变量命名为name_1,但不能将其命名为1_name

2. 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名name_one可行,但变量名name one会引发错误。

3. 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如not、pass等。

4. 变量名应既简短又具有描述性。例如,name比n好,student_name比s_n好,name_length比length_of_persons_name好, 虽说简短好,但是不能依照自己的意愿随意简写,尽量使用大家约定俗成的简写,如果不是还不如写全拼。

5. python 变量名中大小写敏感,所以 NAME, Name, name 代表三个不同的表里名, 这里提一下就是慎用小写字母l和大写字母O,因给他们可能被人错看成数字1和0;

再说变量赋值中赋予给变量的值,python中万事皆对象,所以python中只要是对象就能给变量赋值。如:

x = 1 # x赋值为数字1;

x = sum # x赋值为内建求和函数sum;

python的赋值真实上说应该不是赋值,而更像是“引用”,如何理解“引用”呢,python中一直对象的生成是会在内存中分配给一个内存地址,这个内存地址可以使用id()方法去获取,然后在变量赋值时,将变量直接引用该对象的内存地址,进而完成变量赋值,如:

x = 1, 赋值时x直接引用1所在内存的地址, y = x, 此时是y直接引用x的所指向的内存地址

python中有判断变量的方法如 is() 和 ==,二者在判断变量时是有区别的,is函数是判断变量的内存地址是否相同,而 == 是判断变量的值是否相同,举例说明:

a = 1; b = 1.0

a is b  # False

a == b # True

小心python变量赋值的陷阱

看到上面的所述知道了python变量赋值实则是引用,引用的是对象的内存地址。所赋的值可以分两类,一类是可变的,如列表,字典,集合;一类是不可变的,如字符串、元组。所以当对象为可变类型时就会出现一种情景,我们举例说明:

x = [1, 2, 3]

y = x

print x == y    # True

print x is y    # True

print x     # [1, 2, 3]

print y     # [1, 2, 3]

y.append(4)

print x    # [1, 2, 3, 4]

print y    # [1, 2, 3, 4]

可以看到y在进行调整时(添加了一个元素),x也跟着变动了,这进一步说明了,python中的变量赋值时引用,x,y 赋值时指向了同一处内存地址,所以当y变动时,x同样也发送了变化,解决这中现象的方法可以是x, y = [1,2,3], [1,2,3]这样赋值,虽说此时 x==y 是True,但是确实是2个不同的内存地址,所以 x is y 则是 False。或者可以使用copy模块,实质是相同的,创建2个不同的内存地址,使其分离。


当前标题:python中函数赋值 python函数赋值给变量
链接URL:http://bzwzjz.com/article/hgdgcg.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 重庆网站建设 网站建设开发 成都网站建设 公司网站建设 网站建设方案 网站建设 专业网站设计 成都营销网站制作 企业网站制作 成都网站设计 成都网站建设公司 网站设计 成都网站设计 成都网站设计 成都网站建设公司 成都企业网站建设 手机网站制作 网站建设公司 重庆企业网站建设 成都网站设计 网站制作 成都网站建设