Python调用问题,求解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python调用问题,求解相关的知识,希望对你有一定的参考价值。

书上一个直方图hist=pygal.Bar()

他说这是一个类,请问为什么第三方库可以直接调用Bar()这个类?书中前面只import pygal,将第三方库导入。运行起来正常出结果

但是为什么可以这么调用?不应该是from 模块 import 类吗?

参考技术A

这个只是导入的方式不同。

可以把库看作一个工具箱(比如你的pygal),库里的类、函数等等对象,可以看作箱子里的工具(比如Bar类)。


import 工具箱 :是导入整个工具箱,那么我们要用钳子,需要"工具箱.钳子"

from 工具箱  import 钳子:直接导入的模块,那么要使用钳子,就可以直接使用“钳子”


而 from 工具箱  import * 就相当于

from 工具箱  import 钳子

from 工具箱  import 锤子

from 工具箱  import 锯子

...

也就是工具箱里所有的工具

参考技术B 因为import了pygal,所以可以用pygal.XXX导入pygal里面的类,如果是from pygal import Bar这种方式,那你调用的时候直接hist=Bar()就行了不用有前面的pygal.追问

原来第三方库可以直接调用类?我看书上都是从from 模块 import 类 (如果这个模块是自己写的话),pygal是一个包而不是单独模块吧?

追答

pygal就是一个包

Python定义函数求解一元二次方程

本题需要用调用函数,有助于函数的使用方法,借此解决其他问题。

问题

请定义一个函数,quadratic(a,b,c),接收三个参数,返回一元二次方程的两个解。

提示:计算平方根可以调用math.sqrt()函数。

方法

先调用math函数,在定义一个quadratic(a,b,c)函数,来接收输入的三个数值,对后面需要用到的式子进行定义,然后用if函数对此题所需条件进行判断并返回其所得值。

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

def quadratic(a,b,c):
   m=b*b-4*a*c
   import math
   if m >=0:
       x1=(-b+math.sqrt(m))/(2*a)
       x2=(-b-math.sqrt(m))/(2*a)
       return x1,x2
   else:
       return '无解'
print(quadratic(1,2,3))
print(quadratic(1,4,2))

结语

此题主要是对函数的定义进行考察,在此题中的难点是对函数的调用及对函数的使用,需要对其中的情况进行比较细致的考虑。

以上是关于Python调用问题,求解的主要内容,如果未能解决你的问题,请参考以下文章

Python定义函数求解一元二次方程

Python定义函数求解一元二次方程

delphi 问题求解

Python - Scipy:ode 模块:启用求解器的 step 选项的问题

Python PyAutoGUI错误提示求解?

python新创建的脚本文件无法使用popen执行,求解