日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

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

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

1.1、概述

在python的面向對象中,利用new方法創建對象,然后把這個創建的對象傳遞到init函數中,以第一個參數進

1.2、詳細描述

__new__

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

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

作用: 改變對象空間的創建過程

class Person(object):

def __new__(cls):

print("__new__方法被調用")

# 必須返回創建的對象

# print(cls)

#return object.__new__(cls) #父類上的__new__方法能夠實現內存空間的開辟

return super().__new__(cls) #父類上的__new__方法能夠實現內存空間的開辟

def __init__(self):

print("__init__方法被調用")

# 創建對象

zhangsan = Person()

__init___

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

執行時機: 實例化對象的時候自動調用執行

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

class Student(object):

# 屬性

# 方法

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

def __init__(self,_name,_age):

# 輸出

print("我自動被調用")

# 添加屬性

# self.name = "張三"

# self.age = 26

self.name = _name

self.age = _age

def learn(self):

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

# 實例化對象

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

1.3、應用場景

所謂單例就是一個類從始至終只能產生一個實例。

class Singleton(object):

__instance = None #私有類屬性,保存創建的對象空間

__isInit = False # 是否已經初始化

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

# 實現自己對象的創建過程

if not cls.__instance:

# 沒有就創建

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函數

2.1、概述

lambda 創建匿名函數的語法。

pass 空語句。

2.2、詳細描述

?1、pass的作用

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

2、lambda

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

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

# 可寫函數說明

sum = lambda arg1, arg2: arg1 + arg2;

# 調用sum函數

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

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

2.3、應用場景

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

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

... return x ** 2

...

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

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

[1, 4, 9, 16, 25]

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

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

[3, 7, 11, 15, 19]

# 過濾出列表中的所有奇數:

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

print(newlist)

三、is和==有什么區別?

3.1、概述

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

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

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)

結果:

True

True

True

False

3.3、應用場景

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

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。