第4.6节 print、import及断言
一、print函数
前面第二章介绍了print的语法,其语法如下:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
其中有几个参数,分别说明一下:
sep:表示前面打印的几个参数之间的分隔符是什么,默认是一个空格,我们可以替换成为我们想要的字符串,甚至是一个字符串变量;
end:表示语句最后打印的内容,默认为换行符,如果想要输出后不换行,将end设置为空字符串就可以,即end=’’;
file:表示输出的内容放到哪个文件,默认是放到标准输出;
flush:表述是否刷新输出流。
后面两个参数我们暂且无需关注,sep可以多用一下,这样可以自己控制输出内容的格式。
print语法使用非常简单,大家都可以多练习一下,在此不举例说明了。
二、import语句
import是从已有的模块(含类)中导入相关方法和属性,可以利用已有的功能迅速开发新的功能,是Python开放的一个重要组成部分。第二章介绍import语句时,介绍了三种用法:
1、import 模块名
2、from 模块名import 方法或属性名
3、from 模块名import *
其实还有如下用法:
1、 from 模块名import 方法或属性名1, 方法或属性名2,…
该方法可以一次导入多个方法或属性。
2、 import 模块名 as 模块别名
这个方法将导入模块起个别名,后面使用时直接用别名,这种方法一般出于两个目的,一是模块名太长,为了后面使用简写,另外就是起个容易记的别名。
3、 from 模块名import 方法或属性名1 as 方法别名1,…
这个方法是将导入方法起别名,后面使用时直接使用别名,这种方法一般出于三个目的,一是方法或属性名太长,为了后面使用简写,另外就是起个容易记的别名,三是防止不同模块出现相同的方法或属性时可以通过别名进行区分。
定义了别名的地方使用时就可以直接使用别名。例如:
from copy import copy as cp,deepcopy as dcp
使用时就可以直接用cp、dcp函数了。
三、断言
在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言。python assert 断言语法如下:
assert 表达式 [, 参数]
其中的表达式就是断言要检查的条件,当表达式对应值为False时则终止当前程序执行,给出参数后面的信息抛出异常。
注意:
1、是表达式为False终止程序执行,不是True,这个与if语句不同;
2、可选参数是用于提供错误信息,便于精确判断错误;
3、 断言语句在Python的调试代码时执行,在Python代码的优化级别optimize为1时不会执行,具体优化级别的设置参考Python命令行参数-O
老猿Python(https://blog.csdn.net/LaoYuanPython)系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。
第4.6节 print、import及断言的更多相关文章
- python print import使用
>>> print("aaaa","bbbb")aaaa bbbb>>> print(1, 2, 3)1 2 3 为模块提供 ...
- python 第一节 脚本 import from reload exec
环境Ubuntu 14.04, 不写交互式命令行了,直接脚本开始. # first Python script import sys print(sys.platform) print(2**4) x ...
- python3入门之print,import,input介绍
本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: python3的print函数的变化 python3之 ...
- Java 定制工具库 —— Print(import static)
创建自己的工具库以减少或消除重复的程序代码.例如,我们在Print类中,对常常用到的System.out.println()封装调用以减少输入负担.这样,我们在使用该类时,可以用一个更具可读性的 im ...
- python异常处理与断言以及日志模块
python异常处理与断言 目录: 1.异常处理 2.断言(assert) 3.日志模块(logging) 4.修改之前的车票信息查询,把日志模块.异常处理加进去 1.异常处理 代码如下: 语法: t ...
- AssertJ断言系列-----------<数据库断言二>
那么,在实际的接口测试中,我们除了要断言响应的数据正确之外,可能有的还需要断言数据层是否数据真的有入库. assertj db是可以直接对数据库进行断言和操作的. 一.创建一个students表 CR ...
- CSS引入的方式有哪些? link和@import的区别是?转载
CSS引入的方式有哪些? link和@import的区别是? HTML 中引入 CSS 的方式 有 4 种方式可以在 HTML 中引入 CSS.其中有 2 种方式是在 HTML 文件中直接添加 CSS ...
- junit断言总结
我们平时编写自己的测试类,如果没有断言,那么就没写测试的必要了. JUnit框架用一组assert方法封装了最常见的测试任务.这些assert方法可以极大地简化单元测试的编写. Assert类包含了一 ...
- 怎样使用 css 的@media print控制打印
怎样使用 css 的@media print控制打印? <HTML> <HEAD> <TITLE> New Document </TITLE> < ...
随机推荐
- JAVA中使用JSONArray和JSONObject
json 就是一个键对应一个值,简单的一对一关系. JSONObject json对象,就是一个键对应一个值(键值对),使用的是大括号{ },如:{key:value} JSONArray jso ...
- Flink SQL Client初探
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- ssh连接缓慢的问题分析
之前遇到ssh连接缓慢的问题 一般会检查Server端 /etc/ssh/sshd_config配置文件的两个地方 1.设置UseDNS no 因为我们ssh连接服务器的话 如果UseDNS选项是打开 ...
- Activit的心路历程:获取当前节点的下一节点【可能存在多个】的nodeId
上一任务节点 在我的开发任务中,突然给我提出了一个待办任务需要获取当前任务节点下一任务节点的表单信息,刚开始搞得我有点措手不及,后来仔细是靠后,灵感一下,直接操作流程的bpmn信息就可以获取到节点信息 ...
- MyBatis——MyBatis开发流程
创建项目(IDEA中) 在IDEA中创建 MyBatis项目,详细流程如下: 这里有一点需要注意,我们创建的是Maven项目,如果大家以前没有配置过Maven环境的话,在创建完项目之后,需要配置一下M ...
- spring的原理
一.pring的原理 1.1 IOC控制反转 ==> 扫描机制通过代理方式动态创建对象 扫描注解,通过反射获取类路径,动态创建对应类的对象,放置在对象池中(多线程做法,防止短时间内创建对象过多, ...
- 让面试官心服口服:Thread.sleep、synchronized、LockSupport.park的线程阻塞有何区别?
前言 在日常编码的过程中,我们经常会使用Thread.sleep.LockSupport.park()主动阻塞线程,或者使用synchronized和Object.wait来阻塞线程保证并发安全.此时 ...
- Pinpoint 编译环境搭建(Pinpoint系列一)
本文基于 Pinpoint 2.1.0 版本 目录 一.2.1.0 版本特性 二.编译环境准备 三.编译注意事项 四.编译目录 五.注意事项 新版本的内容参考官方文档, Pinpoint的整个搭建是历 ...
- 企业级工作流解决方案(九)--微服务Tcp消息传输模型之客户端处理
客户端启动 客户端启动主要做三件事情,1. 从配置文件读取服务调用配置,存储到全局对象中.2. 指定客户端编解码器工厂.3. 预连接,即预先建立与服务端的通信Chanel. [DependsOn(ty ...
- EasyRecovery——信息时代的“后悔药”
前几日,小编在豆瓣潜水的时候看到这么一个帖子,说是一对小情侣吵架,女方一气之下把男方的博士论文和资料全删了,求一个办法让男友消气. 站在吃瓜的角度,小编和广大群众看法一致,希望两人直接分手,放男方一条 ...