注释

我们在文言文中经常会看到注释,注释可以帮助读者对文章的理解。代码中的注释也是一样,优秀的代码注释可以帮助读者对代码的理解。当然在代码编写过程中,注释的使用不一定只是描述一段代码,也可能的是对代码的调试。

Python注释一共有# 、''' ''' 、""" """三种方式。我们在编写代码中,一般用#进行单行注释,''' '''或""" """进行多行注释。如下代码所示:

# 这是一段注释

'''

这是多行注释,使用英文单引号。

这是多行注释,使用英文单引号。

这是多行注释,使用英文单引号。

'''

"""

这是多行注释,使用英文双引号。

这是多行注释,使用英文双引号。

这是多行注释,使用英文双引号。

"""

# 单行注释 这是一个加法

def add(a, b):

return a + b

# 先把print(add(1, 2))注释掉,下次如果用到print(add(1, 2))把#去掉

# print(add(1, 2))

我们右击运行,发现不会输出任何内容,虽然我们定义了一个add函数,但是并没有调用add函数,当我们把# print(add(1, 2))的#去掉时,再右击运行,打印台会输出3。关于函数的使用,会在后面内容进行介绍。

变量

变量的概念和数学方程式变量是一致的。比如一元一次方程 x+1>5 ,x就是一个变量。

在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。变量在程序中用一个变量名表示,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,不能使用关键字作为变量。如下代码所示:

a = [1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA']]

A = 1.1

b = '1'

B = 'test'

c = True

_C = False

d1 = 'test'

name = {'testDog', 'Jim', 'Mary', 'Jim', 'Jack', 'Rose'}

Python中关键字如下所示:

and

Exec

not

assert

Finally

or

break

For

pass

class

From

print

continue

Global

raise

def

If

return

del

Import

try

elif

In

while

else

Is

with

except

lambda

yield

缩进

一般当我们定义一个函数、使用if…else、while等时,第二行都必需要进行缩进。使用四个空格或键盘上的tab键表示缩进。如下代码所示:

def add(a, b):

return a + b

if 0 < 1:

print("True")

如果我们缩进位置不对时,运行下面这段代码一般会报IndentationError: expected an indented block错误。如下代码所示:

def add(a, b):

return a + b

print(add(1, 2))

input和print

input意思是等待用户输入,print我们之前也已经用过,表示打印的意思。我们运行下面这段代码,会发现Pycharm打印台需要我们输入2个数,当我们输入第一个数字时,按下Enter,会让我们输入第二个数,输完第二个数,按Enter,程序运行结束。当然下面这段代码是有Bug的,猜猜Bug在哪里呢?如下代码所示:

a = input("请输入第一个数:")

b = input("请输入第二个数:")

print("输入的2个数和为:", (a + b)

上面代码将输出如下内容:

请输入第一个数:1

请输入第二个数:2

输入的2个数和为:3

import与from...import

python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为:from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为:from somemodule import *

import

import time

print(time.strftime('%Y.%m.%d',time.localtime(time.time())))

上面代码将输出如下内容:

2019.02.01

from...import

模块导入函数

from datetime import datetime

print(datetime.now())

上面代码将输出如下内容:

2019-02-01 10:14:45.614800

从.py文件导入

已知目录结构如下:

test1.py代码如下:

def add(a, b):

return a + b

test2.py代码如下:

from test1 import add

print(add(1,2))

运行test2.py打印如下内容:

3

注意,该目录结构有一个init.py文件,这个init.py文件声明该目录是一个python模块。小伙伴可以试试去掉init.py后是否可以执行。

定义一个函数

def 函数名(参数列表):

函数体

函数实例

def hello():

print("hello world")

创建一个类和对象

class People():

"""

定义一个人类

"""

def __init__(self, name):

self.name = name

def my_name(self):

print("我的名字是:"+self.name)

bobby = People('bobby') # 创建一个对象

bobby.my_name()

上面代码将输出如下内容:

我的名字是:bobby

注意:

第一种方法init()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当创建了这个类的实例时就会调用该方法。

self 代表类的实例,self 在定义类的方法时是必须有的,虽然在调用时不必传入相应的参数。

我们创建了一个People类,People类有一个构造函数,当我们创建一个People类的对象时需要传入一个参数,创建的对象可以调用People类中的方法

异常处理

我们在编写Python程序时,经常会因为一些错误导致剩下的代码无法执行,为了解决这个问题,Python内置了一套try...except...finally...的错误处理机制。我们先看一段会抛出异常的代码

a = 10

if a > 0:

b = a / 0

else:

b = a + 1

print(b)

上面代码将输出如下内容:

Traceback (most recent call last):

File "F:/新建文件夹/blogApiTest/test5.py", line 42, in

b = a/0

ZeroDivisionError: division by zero

上面代码比较简单,我们发现,我们的当a>0时,我们将执行 b = a / 0,除数为0。我们都知道除数不能为0,所以Python程序会 抛出异常,那么我们怎么才能接受这个异常并使程序继续执行下去呢?我们可以使用try...except...finally. 如下代码所示:

try:

a = 10

if a > 0:

b = a / 0

else:

b = a + 1

print(b)

except ZeroDivisionError as e:

print(e)

finally:

print("end")

上面代码将输出如下内容:

division by zero

end

我们将我们的程序放在try里面,如果发生错误抛出ZeroDivisionError 异常,这里为了简便,把ZeroDivisionError 重命名为e,当然,我们也可以不使用finally,可以直接使用try...except。这里有个问题,我是怎么知道会抛出ZeroDivisionError 异常的呢?我将给大家罗列一些常见异常,如下表格所示:

异常

描述

AttributeError

试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x

IOError

输入/输出异常;基本上是无法打开文件

ImportError

无法引入模块或包;基本上是路径问题或名称错误

IndentationError

语法错误(的子类) ;代码没有正确对齐

IndexError

下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]

KeyError

试图访问字典里不存在的键

NameError

使用一个还未被赋予对象的变量

SyntaxError

语法错误

TypeError

传入对象类型与要求的不符合

ValueError

传入一个调用者不期望的值,即使值的类型是正确的

当然如果我们不知道会抛出什么异常,我们可以使用BaseException,因为所有的错误类型都继承自BaseException,所以在使用except时需要注意的是,它不但捕获该类型的错误,还把其子类也“一网打尽”。比如:

try:

a = 10

if a > 0:

b = a / 0

else:

b = a + 1

print(b)

except BaseException as e:

print(e)

上面代码将输出如下内容:

division by zero

欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560

在python中可以用什么关键字来声明一个类_3. Python基础语法相关推荐

  1. 在python中可以用什么关键字来声明一个类_python里的raise是什么意思

    我们在开发当中经常会遇到一些未知或已知的错误,比如用requests发送请求时可能会出现异常,或者某个程序计算时出现分母为0的情况.面对各种奇形怪状的错误,高级语言都会有一个抛出错误的机制.在Pyth ...

  2. 在python中可以用什么关键字来声明一个类_Python 定义类

    说明 Python 教程正在编写中,欢迎大家加微信 sinbam 提供意见.建议.纠错.催更. 类是面向对象开发的核心思想,可以解决我们现实生活的复杂问题.在了解了类的基本概念,我们来学习一下怎么定义 ...

  3. python语言用什么关键字来声明一个类_Python语言和标准库(第三章:类和对象)...

    python如何将函数和数据整合在一起,并且通过一个对象的名称访问它们. 如何和为什么使用类与对象,以及他们如何使编程人员易于多种情形下编写和使用程序. 3.1考虑编程 现在要在python中创建一个 ...

  4. python语言用什么关键字来声明一个类_python使用什么关键字定义类

    什么是类? 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下:class ...

  5. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

  6. Python中定义函数的关键字是什么?一起来学习下吧

    python中定义函数的关键字是def. Python使用def关键字开始函数定义,紧接着是函数名,括号内部为函数的参数,内部为函数的具体功能实现代码,如果想要函数有返回值, 在expressions ...

  7. python中所有保留字首字母都是小写_int是不是python的保留字

    int是不是python的保留字 发布时间:2020-11-13 14:48:48 来源:亿速云 阅读:61 作者:小新 小编给大家分享一下int是不是python的保留字,相信大部分人都还不怎么了解 ...

  8. php声明一个类的关键字,php中怎么实例化一个类

    php中怎么实例化一个类 发布时间:2021-03-05 10:15:50 来源:亿速云 阅读:87 作者:小新 这篇文章主要介绍php中怎么实例化一个类,文中介绍的非常详细,具有一定的参考价值,感兴 ...

  9. python中能够处理的最大整数是_实例讲解Python中整数的最大值输出

    在Python中可以存储很大的值,如下面的Python示例程序: x = 10000000000000000000000000000000000000000000; x = x + 1 print ( ...

最新文章

  1. MPLS LDP随堂笔记1
  2. “反过来”学数学:从图形到符号的思考法
  3. 【卷积神经网络结构专题】ResNet及其变体的结构梳理、有效性分析
  4. 趋势|40个统计数据展示CPaaS的2021现状
  5. c# linq的差集,并集,交集,去重【转】
  6. jQuery表格排序总成-tablesorter
  7. LeetCode 64. 最小路径和(DP)
  8. php极光推送教程,laravel框架使用极光推送消息操作示例
  9. Apache基金会获得Pineapple基金88.34比特币捐赠
  10. jlink6.80a烧写序列号(serial number)问题记录
  11. doc 和docx的区别
  12. git创建本地ssh密匙
  13. 如何做网络投票的刷票外挂(一)
  14. 2017计算机知识竞赛题,2017年《西游记》知识竞赛试题100题附答案.doc
  15. The ES9038Q2M SABRE DAC
  16. 【0810神策数据笔试】java3道编程
  17. rocketmq源码①-NameServer是什么以及他的启动流程
  18. RT-Thread--片上 flash作 U 盘
  19. C语言程序设计的出版人,《出版科学》2018年(第1—6期)年度索引-图书情报知识-武汉大学.PDF...
  20. 存储备份从入门到精通

热门文章

  1. Excel 2010 下拉菜单的制作方法
  2. metadata usage in the runtime
  3. 一个最简单的例子学会使用nodejs redis库进行数据库操作
  4. 一段TCP socket和WebSocket互相交互的调试代码
  5. 如何在Chrome development tool里查看C4C前台发送的未经 GZIP 压缩之前的请求细节
  6. dockerhub 拉取地址_DockerHub 镜像仓库的使用详解
  7. LR中如何添加事务,参数化,检查点,集合点,思考时间等
  8. Java入门算法(暴力篇)丨蓄力计划
  9. php 登陆信息 传递,PHP传递POST信息
  10. x79主板bios设置中文_bios菜单