• Python3.X新特性之print和exec


      print

      print 现在是一个函数,不再是一个语句。<语法更为清晰>

      实例1

      打开文件 log.txt 以便进行写入并将对象指定给 fid。然后利用 print将一个字符串重定向给文件 fid

      fid=open("log.txt",'w')

      print("log.txt", file=fid)

      print("hello")

      #fid = open("log.txt", 'w')

      #print>>fid, "log text"

      #print "hello"

      #print("Foo", "Bar", sep="%")

      Python3.X执行结果:

        #fid=open("log.txt",'w')

      #print("log.txt", file=fid)

      #print("hello")

      fid = open("log.txt", 'w')

      print>>fid, "log text"

      print "hello"

      #print("Foo", "Bar", sep="%")

      Python2.X执行结果:

      实例2

        print("Foo", "Bar", sep="%")

      #fid=open("log.txt",'w')

      #print("log.txt", file=fid)

      #print("hello")

      #fid = open("log.txt", 'w')

      #print>>fid, "log text"

      #print "hello"

      print("Foo", "Bar", sep="%")

      Python3.X中执行结果:

      exec

      exec()作为函数,只操作globals()locals()函数返回的字典。locals()函数返回的字典实际上是局部变量的一个副本。exec()函数中进行的赋值只修改了局部变量的这份副本,而非局部变量本身。

      

      实例:

      def foo():

      exec('a=4')

      print(a) 

      foo()

      #def foo():

      # _locals = locals()

      # exec('a=4',globals(),_locals)

      # a = _locals['a']

      #print (a)

      #foo()

      Python2.X中执行结果:

        Python3.X中执行结果:

        #def foo():

      # exec('a=4')

      # print(a)

      #foo()

      def foo():

      _locals = locals()

      exec('a=4',globals(),_locals)

      a = _locals['a']

      print (a)

      foo()

      Python3.X中执行结果:

     

    原文链接:http://www.maiziedu.com/wiki/python/exec/

  • 相关阅读:
    聊下 git 使用前的一些注意事项
    .NET架构设计、框架设计系列文章总结
    聊下 git remote prune origin
    聊下git pull --rebase
    聊下git merge --squash
    git 命令使用总结
    聊下 git rebase -i
    ElasticSearch大数据分布式弹性搜索引擎使用
    DDD实施经验分享—价值导向、从上往下进行(圈内第一个吃螃蟹DDD实施方案)
    SaaS产品项目实施流程
  • 原文地址:https://www.cnblogs.com/space007/p/6027646.html
Copyright © 2020-2023  润新知