python中**是啥啥意思?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中**是啥啥意思?相关的知识,希望对你有一定的参考价值。

详细看例子:

radius = 5
pi = 3.14159
volume = 4.0/3 * pi * radius ** 3

print "The volume is", volume

输出结果:
[root@localhost t]$ python pi.py

The volume is 523.598333333 这个523.598333333是怎么的来的阿?

搞不懂怎么算的?

Python中的//是向下取整的意思。
a//b,应该是对除以b的结果向负无穷方向取整后的数
5//2=2(2.5向负无穷方向取整为2),同时-5//2=-3(-2.5向负无穷方向取整为-3)
/与//的区别
在Python中/表示浮点整除法,返回浮点结果,也就是结果为浮点数;而//在Python中表示整数除法,返回大于结果的一个最大的整数,意思就是除法结果向下取整。
参考技术A

1、两个值相加,然后返回值给符号左侧的变量

举例如下:

>>> a=1

>>> b=3

>>> a+=b(或者a+=3)

>>> a

4

2、用于字符串连接(变量值带引号,数据类型为字符串)

>>> a='1'

>>> b='2'

>>> a+=b

>>> a

'12'

扩展资料:

Python常用运算符

1、算术运算符

2、比较运算符

3、赋值运算符

4、位运算符

5、逻辑运算符

6、成员运算符

7、身份运算符

8、运算符优先级

以下所列优先级顺序按照从低到高优先级的顺序;同行为相同优先级。

Lambda  #运算优先级最低

逻辑运算符: or

逻辑运算符: and

逻辑运算符:not

成员测试: in, not in

同一性测试: is, is not

比较: <,<=,>,>=,!=,==

按位或: |

按位异或: ^

按位与: &

移位: << ,>>

加法与减法: + ,-

乘法、除法与取余: *, / ,%

正负号: +x,-x

具有相同优先级的运算符将从左至右的方式依次进行,用小括号()可以改变运算顺序。

参考资料:

参考资料来源:百度百科-Python

参考技术B

** 在python里面表示幂运算

传递实参和定义形参(所谓实参就是调用函数时传入的参数,形参则是定义函数是定义的参数)的时候,你还可以使用两个特殊的语法:``*`` ** 。

调用函数时使用* **

test(*args)* 的作用其实就是把序列 args 中的每个元素,当作位置参数传进去。比如上面这个代码,如果 args 等于 (1,2,3) ,那么这个代码就等价于 test(1, 2, 3) 。

test(**kwargs)** 的作用则是把字典 kwargs 变成关键字参数传递。比如上面这个代码,如果 kwargs 等于 'a':1,'b':2,'c':3 ,那这个代码就等价于 test(a=1,b=2,c=3) 。

定义函数参数时使用* **

def test(*args):

...定义函数参数时 * 的含义又要有所不同,在这里 *args 表示把传进来的位置参数都装在元组 args 里面。比如说上面这个函数,调用 test(1, 2, 3) 的话, args 的值就是 (1, 2, 3) 。:

def test(**kwargs):

...类似的, ** 就是针对关键字参数和字典的了。 调用 test(a=1,b=2,c=3) 的话, kwargs 的值就是 'a':1,'b':2,'c':3 了。

普通的参数定义和传递方式和 * 们都可以和平共处,不过显然 * 必须放在所有位置参数的最后,而 ** 则必须放在所有关键字参数的最后,否则就要产生歧义了

参考技术C ***是幂的意思,
radius = 5 #把5赋予radius
pi = 3.14159 #把3.14159 赋予pi
volume = 4.0/3 * pi * radius ** 3
#volume = 4.0/3*3.14159*5的三次方,这里运算符号也有优先级别,先是幂运算,你也可以看成volume = 4.0/3*3.14159*(5的三次方)
参考技术D ** 在python里面表示幂运算,radius**3 表示radius的3次方本回答被提问者和网友采纳

在 Python 类参数中添加一个点是啥意思?

【中文标题】在 Python 类参数中添加一个点是啥意思?【英文标题】:What does it mean to put a dot in a Python class argument?在 Python 类参数中添加一个点是什么意思? 【发布时间】:2014-01-05 11:33:31 【问题描述】:

在 Python 中,我看到一个类定义如下:

from protorpc import messages

# Create the request string containing the user's name
class HelloRequest(messages.Message):
    my_name = messages.StringField(1, required=True)

messages.Message 是什么意思?

【问题讨论】:

【参考方案1】:
from protorpc import messages
class HelloRequest(messages.Message):

只是另一种拼写方式:

from protorpc.messages import Message
class HelloRequest(Message):

甚至……

import protorpc
class HelloRequest(protorpc.messages.Message):

HelloRequest 派生自protorpc package 的messages 子模块 中的Message class

【讨论】:

我知道继承,但这是第一次看到这种风格。我真的很喜欢蟒蛇。谢谢【参考方案2】:

基本上,HelloRequest 来自名为 protopc 的特定组的消息子模块中名为 Message 的类。你所谓的论点不是论点。它只是说 HelloRequest 使用 messages.Message 作为它的开始类。

【讨论】:

以上是关于python中**是啥啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript里啥啥.document然后各种方法那些怎么记啊??

在 Python 类参数中添加一个点是啥意思?

Python 列表推导中的“或”是啥意思? [复制]

在python中,双星后跟变量名是啥意思? [复制]

在 Python 中,'<function at ...>' 是啥意思?

星号 * 在 Python 中是啥意思? [复制]