成都网站建设设计

将想法与焦点和您一起共享

Python函数前赋值 Python中的赋值

python赋值语句规则

规则:赋值语句必须是在赋值号(=)的左边是变量或对象的某个属性,不能是表达式;

目前创新互联公司已为上千家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、进贤网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

1、赋值号(=)的右边是变量值、对象属性的值、表达式的值、计算式的值、函数值等等,不能是变量或对象。

2、赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式;赋值语句的功能和特点都与赋值表达式相同。它是程序中使用最多的语句之一。

3、在赋值语句的使用中需要注意以下几点:由于在赋值符“=”右边的表达式也可以又是一个赋值表达式,因此,下述形式变量=(变量=表达式);是成立的,从而形成嵌套的情形。其展开之后的一般形式为:变量=变量=?=表达式;例如:a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:e=5;d=e;c=d;b=c;a=b;。

python为啥无返回值的函数能赋值给变量

1. 函数赋值只是把函数名赋值给变量,并不是执行函数,有无返回值都可以;

例如:a = function

2. 如果把调用函数赋值给变量,才是函数返回值赋值给变量;

如果没有返回值,赋值变量的值为None;

例如 a = function( params )

python如何给变量赋值

题主你好,

python中变量赋值的语法为:

key = value

-----

举例来说, 我给name赋值为张三:

上面可以看出, 在给name赋完值后, 在交互模式下, 直接输入变量名name,就可以回显变量name的值,张三.

*.需要注意的是, 如果是在脚本中写的话, 变量赋值的语法不变(还是 name = "张三"), 但要想输出变量name的值,就不能直接写个name, 而要将变量名name作为print()等这样的输出函数的参数才可以:

a.在脚本中直接输入变量名:

可以看到脚本执行后, 并没有输出name的值.

b.将变量name作为print()函数的参数:

可以看到当将变量name作为print()函数的参数,可以正常输出变量name的值.

-----

希望可以帮到题主, 欢迎追问.

python赋值

c=a 这样的操作属于浅复制,a和c的值其实指向的是同一个内存地址,改变其中任何一个变量的值,都会造成另外的变量的值也显示为一样的改变。

用id函数可看出a 和 c 其实指向的是同一个内存地址。

如果想深复制,也就是值不指向同一个内存地址,可以用 c=a[:]

浅谈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中sort函数赋值的问题

Python中的sort()方法用于数组排序,本文以实例形式对此加以详细说明:

一、基本形式

列表有自己的sort方法,其对列表进行原址排序,既然是原址排序,那显然元组不可能拥有这种方法,因为元组是不可修改的。

123

x = [4, 6, 2, 1, 7, 9]x.sort()print x # [1, 2, 4, 6, 7, 9]

如果需要一个排序好的副本,同时保持原有列表不变,怎么实现呢

12345

x =[4, 6, 2, 1, 7, 9]y = x[ : ]y.sort()print y #[1, 2, 4, 6, 7, 9]print x #[4, 6, 2, 1, 7, 9]

注意:y = x[:] 通过分片操作将列表x的元素全部拷贝给y,如果简单的把x赋值给y:y = x,y和x还是指向同一个列表,并没有产生新的副本。

另一种获取已排序的列表副本的方法是使用sorted函数:

1234

x =[4, 6, 2, 1, 7, 9]y = sorted(x)print y #[1, 2, 4, 6, 7, 9]print x #[4, 6, 2, 1, 7, 9]

sorted返回一个有序的副本,并且类型总是列表,如下:

1

print sorted('Python') #['P', 'h', 'n', 'o', 't', 'y']

二、自定义比较函数

可以定义自己的比较函数,然后通过参数传递给sort方法:

12345678910111213

def comp(x, y):if x y:return 1elif x y:return -1else:return 0 nums = [3, 2, 8 ,0 , 1]nums.sort(comp)print nums # 降序排序[8, 3, 2, 1, 0]nums.sort(cmp) # 调用内建函数cmp ,升序排序print nums # 降序排序[0, 1, 2, 3, 8]

三、可选参数

sort方法还有两个可选参数:key和reverse

1、key在使用时必须提供一个排序过程总调用的函数:

123

x = ['mmm', 'mm', 'mm', 'm' ]x.sort(key = len)print x # ['m', 'mm', 'mm', 'mmm']

2、reverse实现降序排序,需要提供一个布尔值:

123

y = [3, 2, 8 ,0 , 1]y.sort(reverse = True)print y #[8, 3, 2, 1, 0]


分享名称:Python函数前赋值 Python中的赋值
分享URL:http://chengdu.cdxwcx.cn/article/docsioh.html