zoukankan      html  css  js  c++  java
  • 10-8 内置函数

    dir 查看一个变量拥有的方法
    print(dir([]))
    print(dir((1)))

    某个方法属于某个数据类型的变量,就用.调用
    如果某个方法不依赖任何数据类型,就直接调用 ----内置函数和自定义函数

    对print()的说明

    def print(self, *args, sep=' ', end='
    ', file=None): # known special case of print
      file:默认输出到屏幕,如果设置为文件句柄,则输出到文件
      sep:打印多个值之间的分隔符,默认为空格
      end:每一次打印的结尾,默认为换行符
      flush:立即将文件输出到文件流,不做缓存
    

      

    print('我们是花园',end = '') #指定输出的结束符
    print('hahhah',end = '')
    结果:我们是花园hahhah
    
    #指定输出多个值之间的分隔符
    print(1,2,3,4,5,sep='|')    #结果:1|2|3|4|5
    
    #file关键字
    f = open('file','w')
    print('aaa',file = f)
    f.close()
    
    
    #取整除运算符://
    i = 101
    print(i/2,i//2)#结果:50.5 50
    
    #进度条的打印
    flush---将缓存里面的内容立即输出到标准输出流(这里是sys.stdout, 也就是默认的显示器)
    import time
    for i in range(0,101,2):
        time.sleep(0.1)
        char_num = i//2
        per_str = '
    %s%% : %s
    '%(i,'*'*char_num) if i ==100 else '
    %s%% : %s'%(i,'*'*char_num)
        print(per_str,end = '',flush='true')
    print('加载完毕')
    小越越  : 
     可以把光标移动到行首但不换行
    

    内置函数eval、exec、single

    1.exec和eval都可以执行字符串类型的代码
    2.eval()有返回值,exec()没有返回值
    3.eval()只能用在明确知道要执行的代码是什么
    4.exec一般都用于流程控制
    exec('print(123)')  #123
    eval('print(123)')  #123
    
    print(eval('1+2+3+4'))  #10-----eval()有返回值
    print(exec('1+2+3+4'))  #None----exec()没有返回值
    

     

    code='''for i in range(5):
        print(i*'*')'''
    exec(code)
    结果:
    *
    **
    ***
    ****
    

    compile 将字符类型的代码编译,代码对象能够通过exec来执行,或者可以通过eval来求值

    参数说明:   
    1. 参数source:字符串或者AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。  
    2. 参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。  
    3. 参数model:指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。
    code1 = 'for i in range(0,3): print (i)'
    compile1 = compile(code1,'','exec')
    exec (compile1)
    

     

    #简单求值表达式用eval
    code2 = '1+2+3+4'
    compile1 = compile(code2,'','eval')
    print(eval(compile1))   #结果:10
    
    #用户交互用single
    code3 = 'name=input("input name:")'
    compile3 = compile(code3,'','single')
    exec(compile3)# 交互时的执行用exec()
    print(name)
    

      

  • 相关阅读:
    recon-ng打开后显示No modules enabled/installed
    mysql的floor()报错注入方法详细分析
    视频合并时使用python批量修改文件名
    ThinkPHP5框架引入的css等外部资源文件没有生效
    用session实现的用户登陆,客户端是怎样获取到cookie信息的
    关于Linux系统下基于Tomcat部署和升级war包的详细过程
    nginx代理的页面性能优化大全
    linux下MySQL数据库的定时备份与定时删除
    关于linux查询内存,CPU,存储空间和日志查询的的常用命令及参数讲解
    linux 查看cpu核心数
  • 原文地址:https://www.cnblogs.com/Cheryol/p/9753530.html
Copyright © 2011-2022 走看看