名词:方法与函数同义.仅仅是语言规定差别.在本文中不作区别.
1. python都是指def定义的处理过程 2. nim的 proc有返回值, func没有返回值(0.19版以后出现) 3. c++的[方法(method)]专指类中的函数. 4. pascal的方法(procedure)指无返回值的处理,函数(function)指有返回值的处理 5. c中的方法(function)指无返回值的处理,函数(function)指有返回值的处理
if __name__ == “__main__”: pass
if isMainModule: discard
nim里文字串的操做符%不是默认操做符,须要在使用前引入strutils包.不然不能使用,在编译时会报错.
import strutils
这样就会给为文字串增长不少功能, 好比上面的%操做符
UFCS
要求方法(proc)或函数(func)的第一个参数是要操做的类型.python
proc len2(value:string):int = 处理过程省略 let a = “” #a的类型自动推导. 等同于 let a:string = "" len2(a) == a.len2 #nim能够不写函数调用的括号
pythonc++
class Person: def makelove(self, spouse)→Person: # python3写法 省略 person = Person() baby = person.makelove(spouse)
nim编程
type Person = object proc makelove(self:Person, spouse:Spouse):Person = 省略 person = Person() baby = person.makelove(spouse) #或者 baby = makelove(person)
import osjson
os.exists(“./testfile”)
from os import *编程语言
导入该模块下的全部内容
exists(“.testfile”) # 这里使用os模块内的函数[exists]不须要加上模块名前缀
from os import nil #等同于python的[import os].这里不导入模块内的内容,而只是将模块自己导入.函数
os.existsFile(“./testfile”)若是不加上[import nil]那么默认是导入该模块下的全部内容,而不须要在调用以前加上模块名spa
import oscode
import os # 这里导入os模块
existsFile(“.testfile”) # 这里直接使用os模块内的函数[existsFile].
等同于python的[from os import *]