• python初识之内置函数一


      python的内置函数一共有68个,这里先学习55个

    作用域相关:locals()和globals()

      locals() 返回本地作用域中的所有名字

      globals() 返回全局作用域中的所有名字

    迭代器生成器相关:range() 、iter()、next()

      range() 可迭代的

      iter() 可迭代的.__iter__()就能得到一个迭代器

      next() 迭代器.__next__()就能得到一个值  == next()

    查看内容:dir()

      dir() 查看一个对象拥有的方法

    调用相关:callable()、help()

      callable() 主要用来检验函数能否被调用

      help() 查看函数帮助

    def func():
        print("hello")
    print(callable(func))
    help(func())

      ps:某个方法属于某个数据类型的变量,就可以用.调用,如果某个方法不依赖于任何数据类型,就可以直接调用,那么它就是内置函数或自定义函数

     文件操作相关:open()、close()

      f = open('文件名',打开方式,编码方式) 打开方式有r,w,a,r+,w+,a+六种,得到一个文件句柄

      记得使用完后要关闭文件释放内存。f.close()

    内存相关:id()、hash()

      id()查看变量的内存地址

      hash()判断变量是否可哈希,不可哈希时会报错,可哈希时返回一个int类型的数字

         对于相同可哈希数据的哈希值在一次程序的执行过程中总是不变的

    输入输出相关:input()、print()

      input()用户输入,注意输入的是字符串,根据后续要求进行转换使用

      print()输出

        1、print()中end的用途

    print('123',end='')  # end='',在print中end默认是换行符,这里转换成空字符
    print('456')

        2、print()中sep的用途

    print(1,2,3,4,sep='q')  # 指定输出多个值中间的分隔符

        3、print()中flush的用途

    print(' 222  ',flush=True)  # 立刻把内容输出到流文件,不做缓存

        4、print()中file的用途

    f = open('file', 'w')
    print('aaaa', file=f)  # 可以指定打印的文件位置
    f.close()

      print()代码小练习——打印进度条

    import time
    for i in range(0,101,2):
        time.sleep(0.1)
        num = i//2  # 
    可以使输出时的光标一直定位在首位
        str = '
    进度%s%% : %s
    '% (i,'*'*num) if i==100 else '
    进度%s%% : %s'% (i,'*'*num)
        print(str,end='',flush=True)

    字符串类型的代码执行:exec()、eval()、compile()

      exec()可以执行()内的字符串python语句,没有返回值

    print(exec('1+2'))  # 没有返回值,输出None
    exec("print('haohao')")  # 输出haohao

      eval()和exec()一样可以执行字符串语句,不同点是有返回值

    print(eval('1+2+3+4'))

        注意:eval只能用在明确执行的代码是什么的时候使用,不安全,exec适合简单流程控制,eval适合有结果的简单运算

      compile()编译,对字符串的代码进行编译,然后用eval或exec执行

        compile(source,filename,model),source参数可以传递一些想要执行的变量或字符串;filename参数是代码文件名称,在source参数传递时可以写空字符;model是指定编译代码的种类,可以指定为 ‘exec’,’eval’,’single’。当source中包含流程语句时,model应指定为‘exec’;当source中只包含一个简单的求值表达式,model应指定为‘eval’;当source中包含了交互式命令语句,model应指定为'single'。

    c1 = compile('for i in range(10):print(i)', '', 'exec')  # 简单流程控制语句
    exec(c1)
    c2 = compile('1+2+3+4', '', 'eval')  # 简单运算,有返回值
    print(eval(c2))
    c3 = compile('user_input = input("请输入:")', '','single')
    exec(c3)
    print(user_input)  # 编译前没有变量user_input,用户输入后就有了

    数字相关

      复数complex() 复数无法比较大小

      浮点数(有限小数或无限循环小数)不是小数(比浮点数多一个无限不循环小数)

     进制转换:bin()、oct()、hex()

      bin(o) o指变量,将o转换为二进制

      oct(o) o指变量,将o转换为八进制

      hex(o) o指变量,将o转换为十六进制

     数学运算

      abs() 取绝对值

      divmod(a,b) 接收两个参数a,b(被除数,除数),返回两个参数( 商,余)

      round() 精确到几位小数,会四舍五入 eg:(3.145,2)

      pow() 求幂运算 (2,3) 即2的3次方 ,(2,3,3) 即2的3次方对3取余

      sum() 接收可迭代类型参数求和 eg:sum([1,2],10) 即对1和2求和,从10开始相加,结果为13

      min() 求参数中的最小值,可以分开接收参数,也可以接收可迭代类型的参数,min函数里的key可以设定min中参数先执行的函数

    print(min(-1, 2, 3, -4, key=abs))  # 先对min里的参数进行取绝对值再比较大小,但返回结果是原来的参数

      max() 用法同min(),求参数中的最大值

     ps:面试题小知识补充

      字符串可以比较大小,但只是比较首字母的ascii码

      元组不能比较大小

      在面试题时要注意:可以通过print 后有没有()判断是python2还是3

      可迭代类型取值方法:next()、for()、数据类型的强制转换

    l=range(100)
    list(l[0:3])# 取第一到第三个元素,可迭代类型可以通过数据类型强制转换进行切片操作
    l1=list(l[:])  # 取出所有元素

      判断dict中有没有某个key,用in/get

      is和==区别 :is是比较内存地址,==是比较值

      默认参数的陷阱面试题

    def func(a, l=[]):  # 本题除了考察默认参数之外还主要考察了python中变量的赋值是赋予了变量地址
        l.append(a)
        return l
    l1 = func(10)
    l2 = func('1234',[])
    l3 = func('a')
    print(l1)
    print(l2)
    print(l3)
    面试题
  • 相关阅读:
    IDEA创建maven项目
    Error:java:错误:不支持发行版本 5(或写着其他版本的~)
    IDEA配置maven
    IDEA、maven3.6.3安装、环境配置(windows10)
    MySQL(版本8.0.19)服务的启动/停止、登录/登出、修改密码
    Struts2表单提交的中文字符数据用hibernate存储在数据库中是乱码的问题。
    (异常分析)Dispatcher initialization failed Caused by: Action class [*] not found
    (异常分析)实例化Configuration 的时候提示:Cannot instantiate the type Configuration
    (转)(异常分析) org.hibernate.MappingException: entity class not found
    (转)not found while looking for property错误
  • 原文地址:https://www.cnblogs.com/xfdhh/p/9898439.html
Copyright © 2020-2023  润新知