日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python自动化测试面试题代码_Python自动化测试常见面试题(四)

發(fā)布時間:2025/3/19 python 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python自动化测试面试题代码_Python自动化测试常见面试题(四) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、_ init _ _ 和 _ _ new _ _是什么?

1.1、概述

在python的面向?qū)ο笾?#xff0c;利用new方法創(chuàng)建對象,然后把這個創(chuàng)建的對象傳遞到init函數(shù)中,以第一個參數(shù)進

1.2、詳細描述

__new__

所有的類上都有一個new方法

調(diào)用時機: 新建對象的時候自動調(diào)用(init之前),同時會自動傳入類cls參數(shù)

作用: 改變對象空間的創(chuàng)建過程

class Person(object):

def __new__(cls):

print("__new__方法被調(diào)用")

# 必須返回創(chuàng)建的對象

# print(cls)

#return object.__new__(cls) #父類上的__new__方法能夠?qū)崿F(xiàn)內(nèi)存空間的開辟

return super().__new__(cls) #父類上的__new__方法能夠?qū)崿F(xiàn)內(nèi)存空間的開辟

def __init__(self):

print("__init__方法被調(diào)用")

# 創(chuàng)建對象

zhangsan = Person()

__init___

定義在類中, 名字固定 init。

執(zhí)行時機: 實例化對象的時候自動調(diào)用執(zhí)行

作用: 一般會在初始化方法中 為對象添加(綁定)屬性

class Student(object):

# 屬性

# 方法

## 自己定義一個初始化方法

def __init__(self,_name,_age):

# 輸出

print("我自動被調(diào)用")

# 添加屬性

# self.name = "張三"

# self.age = 26

self.name = _name

self.age = _age

def learn(self):

print("努力學習,天天向上")

# 實例化對象

stu1 = Student(_age=28,_name="李四")

1.3、應(yīng)用場景

所謂單例就是一個類從始至終只能產(chǎn)生一個實例。

class Singleton(object):

__instance = None #私有類屬性,保存創(chuàng)建的對象空間

__isInit = False # 是否已經(jīng)初始化

def __new__(cls, *args, **kwargs):

# 實現(xiàn)自己對象的創(chuàng)建過程

if not cls.__instance:

# 沒有就創(chuàng)建

cls.__instance = super().__new__(cls)

# 返回

return cls.__instance

else:

# 有直接返回

return cls.__instance

def __init__(self,name,age):

if not self.__isInit: #沒有初始化

# 初始化

self.name = name

self.age = age

# 改變

self.__isInit = True

else:

#

pass

二、什么是pass,什么是lambda函數(shù)

2.1、概述

lambda 創(chuàng)建匿名函數(shù)的語法。

pass 空語句。

2.2、詳細描述

?1、pass的作用

不做任何事情,一般用做占位語句,為了保證程序的完整性。

2、lambda

lambda只是一個表達式,函數(shù)體比def簡單很多。

lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。

# 可寫函數(shù)說明

sum = lambda arg1, arg2: arg1 + arg2;

# 調(diào)用sum函數(shù)

print "相加后的值為 : ", sum( 10, 20 )

print "相加后的值為 : ", sum( 20, 20 )

2.3、應(yīng)用場景

lambda創(chuàng)建的匿名函數(shù)一般在 排序,map,reduce,filter這些高階函數(shù)里,可以一行寫完,不過這個也要看情況,過多使用匿名函 數(shù),在團隊代碼閱讀上,可能會有麻煩。

>>>def square(x) : # 計算平方數(shù)

... return x ** 2

...

>>> map(square, [1,2,3,4,5]) # 計算列表各個元素的平方

>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數(shù)

[1, 4, 9, 16, 25]

# 提供了兩個列表,對相同位置的列表數(shù)據(jù)進行相加

>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])

[3, 7, 11, 15, 19]

# 過濾出列表中的所有奇數(shù):

newlist = filter(lambda x:x % 2 == 1, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print(newlist)

三、is和==有什么區(qū)別?

3.1、概述

is 比較 的是兩個實例對象是不是同一個對象,也就是說這兩個對象的地址,通過id()函數(shù)可以獲取,是不是相同。

== 比較的是兩個實例對象的值是否相等,比較的是內(nèi)存中存放的內(nèi)容,可以不是同一個對象,只要內(nèi)容一樣就可以了。

3.2、詳細描述

x = [1, 2, 3]

y = x

z = [1, 2, 3]

print(x == y)

print(x is y)

print(x == z)

print(x is z)

結(jié)果:

True

True

True

False

3.3、應(yīng)用場景

is常用的地方是: 和None值進行比較 a is None 或者 a is not None

None 在 Python 語言中是一個單例對象,如果你要判斷某個變量是否為 None 時,記得使用 is而不是 ==,因為只有 is才能在嚴格意義上表示某個變量是否是 None。

總結(jié)

以上是生活随笔為你收集整理的python自动化测试面试题代码_Python自动化测试常见面试题(四)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。