关于python以前学过一点,用来写贪婪算法,但是基本上都是填字的形式,老师给出了模板,然后自己在算法的位置添加点东西就算完事了。现在工作了,需要用到python写脚本,得从头开始学习呀!打开一个python脚本,第一眼看到的就是一堆import,还有from...import。
这两个是用来导入模块的。模块简单来说就是在其他的文件中写的代码段,导入之后建立一个引用,就不需要在新的文件中再重写了。当使用在被导入模块中定义的函数时,必须包含模块的名字。所以不能只使用 funcname,而应该使用 modname.funcname
import irecommend_util.NewsItem as NewsItem
from modname import funcname from modname import fa, fb, fc 或者 from modname import *
与第1种方法的区别:funcname 被直接导入到本地名字空间去了,所以它可以直接使用,而不需要加上模块名的限定
* 表示,该模块的所有公共对象(public objects)都被导入到 当前的名称空间,也就是任何只要不是以”_”开始的东西都会被导入。
建议:
1)如果你要经常访问模块的属性和方法,且不想一遍又一遍地敲入模块名,使用 from module import
2)如果你想要有选择地导入某些属性和方法,而不想要其它的,使用 from module import 3)如果模块包含的属性和方法与你的某个模块同名,你必须使用import module来避免名字冲突
4)尽量少用 from module import * ,因为判定一个特殊的函数或属性是从哪来的有些困难,并且会造成调试和重构都更困难。
关于导入模块还有一种方法,那就是内建函数__import__()
看完这个位置,继续向下看,是一些变量的定义
在Python中,函数声明和函数定义是视为一体的。
def function(params):
block
return expression/value
在这里说明几点:
(1)在Python中采用def关键字进行函数的定义,不用指定返回值的类型。
(2)函数参数params可以是零个、一个或者多个,同样的,函数参数也不用指定参数类型,因为在Python中变量都是弱类型的,Python会自动根据值来维护其类型。
(3)return语句是可选的,它可以在函数体内任何地方出现,表示函数调用执行到此结束;如果没有return语句,会自动返回NONE,如果有return语句,但是return后面没有接表达式或者值的话也是返回NONE。