一、内置函数(共68个)

1、作用域相关(2)

locals(*args, **kwargs)  --  返回本地作用域中的所有名字

globals(*args, **kwargs)  --  返回全局作用域中的所有名字

ps:注意区分global、nonlocal关键字

2、迭代器/生成器相关(3)

next(iterator, default=None)  --  调用迭代器内部__next__()方法,同时做了封装,设置默认值则不抛出异常

iter(source, sentinel=None)  --  调用__iter__()方法,获取迭代器

range(start=0, stop,  step=1)  --  返回一个整数序列的可迭代对象,注意:不是迭代器

3、数据类型 - 基础数据类型相关()

3.1、数据类型(4)

bool()

int()

float()  --  float对应的浮点数,记住在计算机里并不是真正数学意义上的这个数,是存在误差的,当小数位数过多时就会不准确

complex()  -- complex,即复数,明显是把什么东西强转成复数,或者说就是定义一个复数,如 complex(12+3j) :

  另外,复数实部和虚部都是浮点数,且j不区分大小写

3.2、进制转换(3)

bin()  --  转为二进制

oct()  --  转为八进制

hex()  --  转为十六进制

PS:以10为例,可以直接表示成二进制0b1010,八进制0o12,十六进制0xa,这些在赋值时都可以直接使用,打印出来默认还是十进制的,除非用进制转换转换一下。

3.3、数学运算(7)

abs()  --  计算绝对值

divmod()  --  返回(除、余)

round(number, ndigits=None)  --  小数精确,ndigits表示保留几位小数

pow()  --  幂运算,三个参数表示幂运算后再取余

Equivalent to x**y (with two arguments) or x**y % z (with three arguments)

sum(iterable, start --  求和  传入一个可迭代对象和start,start表示求和从哪里开始,即把start加入总和中

min(*args, key=None)  --  计算最小值  可传入多个参数或一个可迭代对象,key可以传入一个func,表示按照每个数根据该方法得到的返回值取最小值

max(*args, key=None)  --  计算最大值  可传入多个参数或一个可迭代对象,key可以传入一个func,表示按照每个数根据该方法得到的返回值取最大值

4、其他(12)

callable()  --  判断一个变量是否可调用

dir()  --  返回一个变量的所有方法

help()  --  打印帮助文档(这个方法会直接打印,没有返回值)

__import__()  --  引用文件,import关键字实际调用的就值这个方法,使用方法:

import time
print(time.time()) # 一般使用方法 t = __import__("time")
print(t.time()) # 可以重定义模块名

open()  --  打开一个文件

id()  --  返回变量的内存地址

hash()  --  得到可哈希(即不可变)的对象的哈希值,对于相同可hash对象的hash值在一次程序的执行过程中总是不变的

input()  --  返回控制台输入的值

print()  --  打印,除了通常的使用方法外,print可以传参,打印效果会有不同,如:

print('你好,哈哈', end='')
print('你好,哈哈', end='')
print('你好,哈哈', end='')

  结果:

  可以看到打印结果并没有换行

  print还有其他用法,如:

# 指定输出多个值之间的分隔符
print(1, 2, 3, 4, 5, sep='|') # 打印到文件
f = open('file', 'w')
print('文件文件', file=f)
f.close()

exec()  --  执行一段字符串类型的代码,无返回值,exec执行流程控制语句也需要保持缩进

eval()  --  执行一段字符串类型的代码,有返回值,eval是不能执行带流程控制的语句的

注意:exec和eval要慎用,会给用户执行非法代码的机会,而且执行的代码是嵌入上下文的,可以调用当前空间里的变量。

compile()  --  将字符串类型的代码编译。编译后的对象可以通过exec语句执行或eval进行求值。参数说明:

  source:字符串或AST(Abstract Syntax Trees)对象。即需要动态执行的代码段。

  filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。当传入了source参数时,filename参数传入空字符即可。

  model:制定编译代码的种类,可以指定为“exec”、“eval”、“single”。当source中包含流程语句时,model应指定为“exec”;当source中只包含一个简单的求值表达式,model应指定为“eval”;当“source”中包含了交互式命令语句,model应指定为“single”。

  指定为“single”示例:

code = "input('请输入:')"
code_comp = compile(code, '', 'single')
exec(code_comp) code1 = "1 + 2"
code_comp1 = compile(code1, '', 'single')
exec(code_comp1)

结果:

  single模式即交互模式,类似于python的命令行交互模式。

二、小程序

1、打印进度条

import time
for i in range(0, 101, 2):
print("\r进度:{}{}%".format("*"*(i//2), i), end="")
time.sleep(0.05)

这个程序利用了\r回到行首,print设置参数end=""实现

Python学习 day15的更多相关文章

  1. python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r

    ---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与 ...

  2. python学习day15 模块(重点)

    模块(重点) python2,与py3的区别 py2:range() 在内存中立即把所有的值都创建,xrange() 不会再内存中立即创建,而是在循环时边环边创建. py3:range() 不会再内存 ...

  3. python学习 day15打卡 初识面向对象

    本节主要内容: 1.面向对象和面向过程 2.面向对象如何编写 3.面向对象和面向过程的对比 4.面向对象的三大特征 一.面向对象和面向过程(重点理解) 1.面向过程:一切以事物的流程为核心.核心是&q ...

  4. python学习-day15:局部变量与全局变量、嵌套函数、递归

    一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与局部变量同名时:在定义局部 ...

  5. python学习 day15 (3月20日)----time

    # '2019-03-20 10:40:00'#这个时间向后推一个月 f1 = time.strptime('2019-03-20 10:40','%Y-%m-%d %H:%M') # 把字符串时间转 ...

  6. python学习博客地址集合。。。

    python学习博客地址集合...   老师讲课博客目录 http://www.bootcdn.cn/bootstrap/  bootstrap cdn在线地址 http://www.cnblogs. ...

  7. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  8. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  9. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

随机推荐

  1. Linux 配置nfs

    原文:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 一.NFS服务简介 NFS 是Network File System的 ...

  2. error: failed to push some refs to 'https://git.oschina.net/bluede/TuShuGuanLi.g it'

    出现了这样的错,可以强制提交 git push -u origin master -f

  3. CodeForces 682B Alyona and Mex (题意水题)

    题意:给定一个序列,你可以对这里面的数用小于它的数来代替,最后让你求,改完后的最大的序列中缺少的最小的数. 析:这个题,读了两个多小时也没读懂,要是读懂了,肯定能做出来...没什么可说的,就是尽量凑1 ...

  4. 编写高质量代码改善C#程序的157个建议——建议134:有条件地使用前缀

    建议134:有条件地使用前缀 在.NET的设计规范中,不建议使用前缀.但是,即便是微软自己依然广泛的使用这前缀. 最典型的前缀是m_,这种命名一方面是考虑到历史沿革中的习惯问题,另一方面也许我们确实有 ...

  5. windows在python基础上安装pip

    首先你必须已经安装了python,并且配置好环境 键入pip 复制https://bootstrap.pypa.io/get-pip.py的内容并创建get-pip.py文件(该文件的内容就是刚刚复制 ...

  6. centos7 编译安装nginx

    转载文章 原文地址 https://www.cnblogs.com/liujuncm5/p/6713784.html 安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可 ...

  7. DELPHI XE5-8 弹出列表框供选择

    点击章节练习: var tmplm:Tlistboxitem; begin dm.FDQTMP.SQL.Clear; dm.FDQTMP.SQL.Add('select GSESSON from TS ...

  8. 自己动手设计并实现一个linux嵌入式UI框架

    一直以来都是使用现成的UI框架,如微软的window.QT等,因为它有各种控件(如button.window.edit等)都已经封装实现好了.我们只要拿来用就是了,也一直认为它很神圣,没有深入了解它背 ...

  9. nginx uwsgi flask相关配置

    一.安装Nginx 在 /home/download下下载压缩包 wget https://nginx.org/download/nginx-1.12.2.tar.gz 解压缩 tar zxvf ng ...

  10. ML.NET---.NET下的机器学习引擎(简介)

    ML.NET 是一个跨平台的开源机器学习框架,它可以使 .NET 开发人员更容易的开展机器学习工作. ML.NET 允许 .NET 开发人员开发自己的模型,即使没有机器学习的开发经验,也可以很容易的将 ...