博文

Python一些技巧和知识点

单行刷新打印: sys.stdout.write(字符串) 这样就是在屏幕上单行打印,不会刷屏,但是会刷新。 在__init__.py中定义logging参数 这样在最主要的模块的__init__.py上定义完了后,其他文件很自然就可以用logger了。 def log_config():     log_formatter = logging.Formatter(         '%(asctime)s [%(funcName)-12.12s] [%(levelname)-5.5s] %(message)s')     logger = logging.getLogger()     logger.setLevel(logging.INFO)     file_handler = logging.FileHandler('/tmp/itemprofile.log')     file_handler.setFormatter(log_formatter)     logger.addHandler(file_handler)     console_handler = logging.StreamHandler()     console_handler.setFormatter(log_formatter)     logger.addHandler(console_handler)     return logger 循环依赖 有时候Python运行不通过,显示某个package找不到不一定是sys.path的设置不对,也有可能是循环依赖导致的包不能被import Python也会有循环依赖的问题,比如在a.py import B, 在b.py中import A。 尤其是要小心__init__.py中的import,这个会导致在import路径中的每个__init__.py中的包都被import一次,很可能会产生循环依赖,...

lua学习笔记

图片
根据各个学习资料记录下可能会忘记的点。 学习资料 LUA简明教程 注释 -- 单行注释 --[[ 注释块 --]] 变量 lua变量默认是全局变量。 即使是函数内定义的变量,如果不加local限制,在函数调用外也可以使用。 函数内对函数外的全局变量操作会影响到这个全局变量的值。 不过如果函数内用local定义了一个重名的外部全局变量则不会改变外部的值。 bool和if 在if判断中只有nil和false能表示false,其他数字0,1,2和字符串等都表示true。 但是如果用==来判断则都不合适。 lua没有++或者+= _G 在lua中,没有加local的全局变量放在了一个叫“_G”的Table中。也就是说通过for k,v in pairs(_G) 可以找出所有的全局变量。 Lua程序设计 Lua的特点 lua不做c语言已经做的很好的地方,lua小巧简单,是对c的扩展。lua可以整合各个c/c++等静态语言的组件,作为粘合剂glue language。 也就是说产品的组件可以是c/c++所写的,不常更新。但是那些产品中变化较多的应用方向的的开发可以使用lua来实现。 删除全局变量 通过给这个全局变量赋值为nil就可以将其删除,就好像凑没有被使用过一样,因为当一个变量不等于nil时,这个变量才存在。 词法命名 不建议使用用下划线加大写字母的标识符,因为lua的保留字也是这样的。 类型 lua是动态类型语言,变量不需要类型定义。 8种基本类型:nil、boolean、number、string、 userdata 、function、 thread 和 table 。 函数type可以得到变量的类型:print(type(x)) lua的number都是浮点 表示实数, Lua 中没有整数。一般有个错误的看法 CPU 运算浮点数比整数慢( 难道不是吗? )。 string lua中单引号和双引号都表示字符串。 lua中的字符串是字符的序列,8 bit字节序列。 lua中的字符串是不可修改的。需要新的变量存放新的字符串 [[...]]表示多行字符串 对字符...

First Try

Hello World!