Python代码大全(python代码大全简单)

http://www.itjxue.com  2023-02-22 06:40  来源:未知  点击次数: 

用python语言编写从0到100有多少个数可以除以九?

答:由0到100一共有11个数可以除以九,它们分别是0,9,18,27,36,45,54,63,72,81,90。

可以用下面的python程序来求解:

count = 0

for i in range(101):

if i % 9 == 0:

count += 1

print(count)

6 个值得玩味的 Python 代码

先选取了 6 个自己认为值得玩味的 python代码,希望对正在学习 python 的你有所帮助。

1、类有两个方法,一个是 new,一个是 init,有什么区别,哪个会先执行呢?

运行结果如下:

再来看另一个例子

运行结果如下:

这里给出官方的解释: init 作用是类实例进行初始化,第一个参数为 self,代表对象本身,可以没有返回值。 new 则是返回一个新的类的实例,第一个参数是 cls 代表该类本身,必须有返回值。很明显,类先实例化才能产能对象,显然是 new 先执行,然后再 init ,实际上,只要 new 返回的是类本身的实例,它会自动调用 init 进行初始化。但是有例外,如果 new 返回的是其他类的实例,则它不会调用当前类的 init 。下面我们分别输出下对象 a 和对象 b 的类型:

可以看出,a 是 test 类的一个对象,而 b 就是 object 的对象。

2、map 函数返回的对象

map()函数第一个参数是 fun,第二个参数是一般是 list,第三个参数可以写 list,也可以不写,作用就是对列表中 list 的每个元素顺序调用函数 fun 。

有没有发现,第二次输出 b 中的元素时,发现变成空了。原因是 map() 函数返回的是一个迭代器,并用对返回结果使用了 yield,这样做的目的在于节省内存。 举个例子:

执行结果为:

这里如果不用 yield,那么在列表中的元素非常大时,将会全部装入内存,这是非常浪费内存的,同时也会降低效率。

3、正则表达式中 compile 是否多此一举?

比如现在有个需求,对于文本 中国 ,用正则匹配出标签里面的“中国”,其中 class 的类名是不确定的。有两种方法,代码如下:

这里为什么要用 compile 多写两行代码呢? 原因是 compile 将正则表达式编译成一个对象,加快速度,并重复使用。

4、[[1,2],[3,4],[5,6]]一行代码展开该列表,得出[1,2,3,4,5,6]

5、一行代码将字符串 "-" 插入到 "abcdefg"中每个字符的中间

这里也建议多使用 os.path.join() 来拼接操作系统的文件路径。

6、zip 函数

zip() 函数在运算时,会以一个或多个序列(可迭代对象)做为参数,返回一个元组的列表。同时将这些序列中并排的元素配对。zip() 参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip 能自动以最短序列长度为准进行截取,获得元组。

python有趣的编程代码

class?Point:

??row=0

??col=0

??def?__init__(self,?row,?col):

????self.row=row

????self.col=col

??def?copy(self):

????return?Point(row=self.row,?col=self.col)

#初始框架

import?pygame

import?random

#初始化

pygame.init()

W=800

H=600

ROW=30

COL=40

size=(W,H)

window=pygame.display.set_mode(size)

pygame.display.set_caption('贪吃蛇')

bg_color=(255,255,255)

snake_color=(200,200,200)

head=Point(row=int(ROW/2),?col=int(COL/2))

head_color=(0,128,128)

snakes=[

??Point(row=head.row,?col=head.col+1),

??Point(row=head.row,?col=head.col+2),

??Point(row=head.row,?col=head.col+3)

]

#生成食物

def?gen_food():

??while?1:

????pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))

????#

????is_coll=False

????#是否跟蛇碰上了

????if?head.row==pos.row?and?head.col==pos.col:

??????is_coll=True

????#蛇身子

????for?snake?in?snakes:

??????if?snake.row==pos.row?and?snake.col==pos.col:

????????is_coll=True

????????break

????if?not?is_coll:

??????break

??return?pos

#定义坐标

food=gen_food()

food_color=(255,255,0)

direct='left'???????#left,right,up,down

#

def?rect(point,?color):

??cell_width=W/COL

??cell_height=H/ROW

??left=point.col*cell_width

??top=point.row*cell_height

??pygame.draw.rect(

????window,?color,

????(left,?top,?cell_width,?cell_height)

??)

??pass

#游戏循环

quit=True

clock=pygame.time.Clock()

while?quit:

??#处理事件

??for?event?in?pygame.event.get():

????if?event.type==pygame.QUIT:

??????quit=False

????elif?event.type==pygame.KEYDOWN:

??????if?event.key==273?or?event.key==119:

????????if?direct=='left'?or?direct=='right':

??????????direct='up'

??????elif?event.key==274?or?event.key==115:

????????if?direct?==?'left'?or?direct?==?'right':

??????????direct='down'

??????elif?event.key==276?or?event.key==97:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='left'

??????elif?event.key==275?or?event.key==100:

????????if?direct?==?'up'?or?direct?==?'down':

??????????direct='right'

??#吃东西

??eat=(head.row==food.row?and?head.col==food.col)

??#重新产生食物

??if?eat:

????food?=?gen_food()

??#处理身子

??#1.把原来的头,插入到snakes的头上

??snakes.insert(0,?head.copy())

??#2.把snakes的最后一个删掉

??if?not?eat:

????snakes.pop()

??#移动

??if?direct=='left':

????head.col-=1

??elif?direct=='right':

????head.col+=1

??elif?direct=='up':

????head.row-=1

??elif?direct=='down':

????head.row+=1

??#检测

??dead=False

??#1.撞墙

??if?head.col0?or?head.row0?or?head.col=COL?or?head.row=ROW:

????dead=True

??#2.撞自己

??for?snake?in?snakes:

????if?head.col==snake.col?and?head.row==snake.row:

??????dead=True

??????break

??if?dead:

????print('死了')

????quit=False

??#渲染——画出来

??#背景

??pygame.draw.rect(window,?bg_color,?(0,0,W,H))

??#蛇头

??for?snake?in?snakes:

????rect(snake,?snake_color)

??rect(head,?head_color)

??rect(food,?food_color)

??#

??pygame.display.flip()

??#设置帧频(速度)

??clock.tick(8)

#收尾工作

这是一个简易版贪吃蛇的代码,虽然结构简单,但是该有的功能都是完整的,可玩性也不错

python新手代码有哪些?

python新手代码有如下:

defnot_empty(s)。

returnsandlen(s。strip())0。

#returnsands。strip()。

#如果直接单写s。strip()那么s如果是None,会报错,因为None没有strip方法。

#如果s是None,那么Noneand任何值都是False,直接返回false。

#如果s非None,那么判定s。trip()是否为空。

相关简介。

Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上。

自动化断言搜索结果怎么看

在测试用例中,执行完测试用例后,最后一步是判断测试结果是 pass 还是 fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言assert。

接口请求断言是指在发起请求之后,对返回的响应内容去做判断,用来查看是否响应内容是否与规定的返回值相符。

在发起请求后,我们使用一个变量 r 存储响应的内容,也就是 Response 对象。

Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。

接下来我们就详解

对接口服务发起 HTTP 请求信息,获得响应内容之后,对其做断言验证。

一、Python 接口自动化断言

在发起请求后,使用一个变量r存储响应的内容,也就是Response对象。

r = requests.get("")

登录后复制

响应结果:

{

"args": {},

"headers": {

"Accept": "*/*",

"Accept-Encoding": "gzip, deflate",

"Host": "httpbin.ceshiren.com",

"User-Agent": "python-requests/2.25.1",

"X-Forwarded-Host": "httpbin.ceshiren.com",

"X-Scheme": "https"

},

"origin": "119.123.205.82",

"url": ""

}

登录后复制

Response 对象有很多功能强大的方法可以调用,比如直接获取响应头,获取 Unicode 编码后的响应内容,获取二进制的响应内容,获取原始的响应内容等等。

响应断言

响应状态码断言

1、断言成功

import requests

r = requests.get('')

assert r.status_code==200

登录后复制

assert是 python 的内置函数,用来判断表达式,当表达式条件为 False 的时候就会触发异常。r.status_code是 response 对象内的一个方法,用于获得返回值的状态码。assert r.status_code==200 就是在判断状态码是否等于 200,如果不等于 200 则会抛出异常。

2、断言失败

import requests

r = requests.get('')

assert r.status_code==400

Traceback (most recent call last):

File "stdin", line 1, in module

AssertionError

登录后复制

从以上例子可了解到,此响应状态码实际输出与预期结果状态码 400 不相等,所以抛出了异常。

Json 响应断言

data = {

"hogwarts": ["a","b","c"]

}

r = requests.post('',json=data)

print(json.dumps(r.json(),indent=2))

assert r.status_code == 200

assert r.json()["json"]["hogwarts"][0] == "a"

登录后复制

响应结果:

"args": {},

"data": "{"hogwarts": ["a", "b", "c"]}",

"files": {},

"form": {},

"headers": {

...省略...

},

"json": {

"hogwarts": [

"a",

"b",

"c"

]

},

"origin": "113.89.8.68",

"url": ""

}

登录后复制

通过 assert r.json()[“json”][“hogwarts”][0] == “a” 对 json 的内容进行断言,其中 r.json() 是获取相应的内容,r.json()[“json”] 是获取到 json 的内容,r.json()[“json”][“hogwarts”] 是获取到 hogwarts 的内容,r.json()[“json”][“hogwarts”][0] 是 hogwarts 下的第一个数据。

二、Java 接口自动化断言

Java 通过 then 进行断言验证,then() 方法可以对多种不同类型的响应信息进行验证。

断言响应状态码成功

import static io.restassured.RestAssured.*;

public class Requests {

public static void main(String[] args) {

given().when().get("").

//通常通过 then 进行断言验证

then().statusCode(200);

}

}

登录后复制

通过 then() 方法提供的 statusCode() 方法即可实现对于响应状态码的验证,statusCode() 方法通常接收的是 int 类型的参数。statusCode(200) 表示判断响应状态码是否等于 200,如果不等于 200 则会抛出异常。

如果将以上代码中断言验证的代码改成 statusCode(300),那么控制台则会输出异常信息。

Exception in thread "main" java.lang.AssertionError: 1 expectation failed.

Expected status code 300 but was 200.

登录后复制

json 响应断言

import static io.restassured.RestAssured.*;

import static org.hamcrest.core.IsEqual.equalTo;

public class Requests {

public static void main(String[] args) {

given().when().get("").

then().body("headers.Host", equalTo("httpbin.ceshiren.com")).log().all();

}

}

登录后复制

通过 then().body(“headers.Host”, equalTo(“httpbin.ceshiren.com”)) 对 json 的内容进行断言,其中 then().body() 是获取相应的内容。

第一个参数是从响应内容中提取实际的字段值。

第二个参数调用了 equalTo() 方法,并在其中传入了期望结果。

三、总结

不是所有的拼搏都会成功,我们不能盲目的拼搏,必须带上我们的智慧,将属于我们的机会牢牢抓住,才会多一份成功。

青春是短暂的,而这短暂的时间里我们的任务很重。让花儿尽情的开吧,只要它不是落了一个虚度年华的罪名,那么,我都乐意。

这世界从来不会跟你过不去,你得到的任何好与坏,都是自己做的。根本没有正确的选择,我们只不过是要努力奋斗,使当初的选择变得正确。

1024程序员节

自动化测试

软件测试工程师

软件测试

测试开发

全国股民的福音来了!

诊断涨停板

广告

python自动化断言封装

1289阅读·0评论·0点赞

2022年4月25日

自动化脚本测试代码参考

400阅读·0评论·1点赞

2022年6月29日

python-web自动化测试-断言

3069阅读·0评论·1点赞

2021年11月18日

pytthon自动化代码大全

1445阅读·0评论·2点赞

2022年1月17日

pythonui自动化断言,python UI自动化13- 断言方法

2353阅读·0评论·2点赞

2021年4月27日

python 接口断言的方法_python接口自动化—unittest 常用的断言方法

1798阅读·0评论·0点赞

2021年2月9日

沧州全屋定制仅需1.68万,输入面积,算算你家需要多少钱?

00:34

全友全屋定制

查看详情

全友全屋定制

广告

python requests接口自动化测试 (数据库断言)

2277阅读·0评论·6点赞

2022年5月16日

python unittest断言_python接口自动化(二十三)--unittest断言——上(详解)

196阅读·0评论·0点赞

2020年11月29日

Python自动化之结果断言篇

2143阅读·0评论·3点赞

2021年7月16日

接口自动化框架之python pytest断言assert(一)

763阅读·0评论·0点赞

2022年5月18日

python自动化测试常用断言的使用方法

2522阅读·0评论·1点赞

2018年9月12日

Web自动化测试:测试用例断言

1180阅读·0评论·0点赞

2022年5月12日

python写测试脚本语言_python测试学习-自动化测试的执行步骤

335阅读·0评论·0点赞

2020年12月13日

做python自动化得时候怎么添加断言_python接口自动化 - 断言(上)

2019阅读·0评论·0点赞

2020年12月11日

全网最详细的Python自动化测试

1755阅读·0评论·0点赞

2022年10月15日

Python自动化测试项目的代码编写规范

1269阅读·0评论·4点赞

2021年5月8日

用Python实现自动化测试

4326阅读·2评论·1点赞

2022年7月8日

Selenium自动化测试(断言 / fame框架处理)------实例

781阅读·0评论·0点赞

2021年11月29日

7个实用的Python自动化代码,别再重复造轮子了

1966阅读·0评论·0点赞

2022年4月23日

去首页

看看更多热门内容

评论16

Passerby_Wang

写得也太详细了吧,学到了好多 也欢迎博主来我这里指点一二呀

2022.10.25

测试内卷

(责任编辑:IT教学网)

更多

推荐广告特效文章