Python 3.x中的nonlocal及其在2.x中的变通办法

在Python 2.x中,函数内部可以定义函数,内层的函数可以读取外层函数的局部变量,但却不可以修改它.

    def outter():
        x = 1
        def inner():
            print("inner is called, x=", x)
        return inner

    outter()()

上面这个程序是没问题的,但是,下面这个就会出错:

阅读全文

在 PyGraphviz 中使用中文

在 PyGraphviz 使用中文要注意的:

  • 汉字要使用 unicode ,例如:u"汉字"

  • 添加节点时要指定中文的字体,例如 fontname=SimSun

示例如下:

    import pygraphviz as pg

    G = pg.AGraph()

    G.add_node(u"经理", fontname="`Microsoft YaHei", shape="rect", style="rounded", fontsize=18) #雅黑
    G.add_node(u"秘书", fontname="SimHei") #黑体
    G.add_node(u"小兵", fontname="SimSun") #宋体
    G.add_node(u"小卒", fontname="Kaiti") #楷体

    G.add_edge(u"经理", u"秘书")
    G.add_edge(u"经理", u"小兵")
    G.add_edge(u"秘书", u"小卒")

    G.draw('test_pygraphviz.png', format='png', prog='neato')

输出效果如下:

阅读全文

(1 - 8)
Enter Press Enter to jump