IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 大疆测试开发笔试2021.8.14 -> 正文阅读

[Python知识库]大疆测试开发笔试2021.8.14

1、两数交换

m,n=4,5
print(m,n)
n,m=m,n
print(m,n)
结果:
4 5
5 4

2、python的赋值

Python 的赋值更改的是变量的指向关系
python中,一切数据皆为”对象“。

m,n=10,3
p = m
m += p 
print(p)
结果:10
原因:对象不可被覆盖(销毁)
s=[1,2,3,4,5]
c = s
s[2] = 9
print(c)
结果:[1,2,9,4,5]
原因:因为列表是一个可变对象,可以修改可变对象的值。
注意:是修改,而不是覆盖,所以它可以原对象进行操作,而不是令 s 指向修改后的对象

参考:https://blog.csdn.net/zisefeizhu/article/details/82942260

3、global的用法

global x
def fun1():
    x='1'
def fun2():
    print(x)
fun1()
fun2()

结果:报错
Traceback (most recent call last):
  File "script.py", line 39, in 
    fun2()
  File "script.py", line 36, in fun2
    print(x)
NameError: name 'x' is not defined

解析:fun1()里面的变量x为局部变量,只在fun1()内有作用。fun2()中,使用变量 x 之前并没有变量 x,即没有定义变量x,故而报错。

global的知识点
基本格式:****global 变量名1,变量名2,...
作用: 声明变量的作用域。即提示python 解释器,表明被其修饰的变量是全局变量。
原因:
(1)在 c/c++ 等中,变量一定是先声明,后使用。所以可以知道现在使用的变量是全局还是局部变量
(2)在python中,变量不需要先声明,直接使用即可。故而怎么知道用的是局部变量还是全局变量?
首先:python使用的变量,在默认情况下一定是用局部变量
其次:python如果想使用作用域之外的全局变量,则需要加global前缀
注意不能在用 global 声明变量的同时给变量赋值
def fun1():
global x='1' # 报错
def fun2():
print(x)
fun1()
fun2()
报错 !!!

x = 5
def fun1():
    global x # 此处声明,告诉执行引擎:我要使用全局变量x,不要整成局部的了!
    x='1'
def fun2():
    print(x)
fun1()
fun2() 
结果:
1
def fun1():
    global x
    x='1'
def fun2():
    print(x)
    
fun1()
fun2() 
结果:
1

解析:使用global 声明变量 x ,直接到global的作用域内寻找变量,未找到变量 x ,即提升x 为全局变量,所以在函数外也能访问。
python是动态调用变量。

x = [1,2]
def fun1():
    global x
    x='1'
def fun2():
    print(x)
fun1()
fun2()
结果:
1
解析:将全局变量x重新指向对象 '1'
x = [1,2]
def fun1():
    x[1] = 3
def fun2():
    print(x)
    
fun1()
fun2()
结果:
[1, 3]
解析:全局变量 x 为列表,是可变对象,fun1()里面的操作是修改可变对象的值。
x = [1,2]
def fun1():
    x='1'
def fun2():
    print(x)
    
fun1()
fun2()
结果:
[1,2]

解析:fun1()里面的变量 x 为局部变量。虽然全局变量 x 为列表,是可变对象,但是fun1()里面的操作并不是修改可变对象的值,而是试图覆盖可变对象,是不可能的,故而将 x 重新作为局部变量。

4、循环

# 去除字符串的特殊字符
s = 'qw$^e&sASd1*23('
for i in s:	# S为不可变类型,固定
    if not i.isalnum():
        s=s.replace(i,'')
print(s)
结果:
qwesASd123
s =[1,2,3,4,5]
for i in s:	# 可变类型
    s.remove(i)
print(s)
结果:[2,4]

解析:在删除列表元素的时候,解释器内有一个隐式的指针,指向下一个要删除的元素的位置(也就是索引?)
当准备要删除的时候,指向第一个元素1,然后把这个1删掉,同时指针指向第二个数组元素。但这时候元素1已经被删除了,元素2是第一个元素,第二个元素是3,这时候3被删除了。

5、内置函数

class A(object):
    pass
class B(A):
    pass
b=B()
print(isinstance(b,A)==True)
print(isinstance(b,object)==True)
print(isinstance(B,object)==True)
print(issubclass(B,A)==True)
print(issubclass(B,B)==True)	# 自己也是自己的子类
print(issubclass(A,B)==True)	# False
print(issubclass(b,B)==True)	# 描述错误
结果:
True
True
True
True
True
False
Traceback (most recent call last):
  File "script.py", line 9, in 
    print(issubclass(b,B)==True)
TypeError: issubclass() arg 1 must be a class

isinstance() 函数
作用:判断一个对象是否是一个已知的类型类似 type()
语法:isinstance(object, classinfo)
参数:
object:实例对象
classinfo:可以是直接或间接类名、基本类型或者由它们组成的元组
返回值:如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False
isinstance() 与 type() 区别:
(1)type() 不会认为子类是一种父类类型,不考虑继承关系
(2)isinstance() 会认为子类是一种父类类型,考虑继承关系
如果要判断两个类型是否相同推荐使用 isinstance()

参考https://www.runoob.com/python/python-func-isinstance.html
在这里插入图片描述

issubclass()函数
作用:判断参数 class 是否是类型参数 classinfo 的子类
语法:issubclass(class, classinfo)
参数
class:
classinfo:
返回值:如果 class 是 classinfo 的子类返回 True,否则返回False
在这里插入图片描述

6、sizeof()——对齐

struct A{
    int a;
    char b;
    double *c;
};

32bit系统中sizeof(A)的大小是多少?
答案:4+(1+3)+4=12
解析:指针所占的字节数都是机器的位数。
32位的机器占32/8=4字节
64位的机器占64/8=8字节
参考:https://blog.csdn.net/sinat_34886122/article/details/106794547

7、正则表达式

“(?<!Spark|Mavic|Phantom)DJI” 能匹配?
答案:DJI
解析:能匹配除了DJI前面不是Spark或Mavic或Phantom的DJI字符串。

8、移位

a=2>>1+1	# 等价于 a=2>>(1+1)
print(a)

结果:0

解析:+、-运算符的优先级高于<< >>位移运算符
1+1=2
2>>2=0(相当于2/2 = 1,1/2=0。右移n位,相当于除以n次2)

9、Linux命令

查找包含特定字符串的文件一般用 grep 命令

10、线性电源

11、稳压二极管工作在什么状态

答案:反向击穿

12、LabVIEW中VI什么部分是常驻内存

13、正弦波信号发生器的技术指标

14、LabVIEW进行VI间进行数据传输的接口

15、c++ lambda

#include <iostream>
using namespace std;

int main() {	
	int a=1;
	auto I=[&](){return ++a;};
	I();
	cout<<a;
	return 0;
}
结果:2

16、什么是进程守护

17、TCP和UDP的区别

18、面向对象与面向过程基本概念及优缺点

19、摄影时,对曝光效果没有影响的是

焦距。
光圈,快门,感光度被称为曝光三要素。

测试的要求是找到全部的软件缺陷?

质量是开发出来的,不是测试出来的?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:29:40  更:2021-08-15 15:31:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:30:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码