1、【题目】请分别举例说明,在 Python 中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别?
答案:
在 Python 中,实参向形参传送数据的方式是“值传递” ,即“拷贝”或“复制”。实参的值传给形参, 是对象间整体赋值, 是一种单向传递方式, 不能由形参传回给实参。
函数体传入的参数, 为函数体外变量引用的副本。 在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。
关键字参数和位置参数的区别:
函数调用时的参数通常采用按 位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。
在函数调用中使用关键字参数,是指通过形式参数的 名称 来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。
解析:
暂无解析
1、【题目】请简述Python中类方法、实例方法、静态方法各自的区别?并简述它们各自的用途。
答案:
实例方法只能用实例对象来调用,不能用类对象来调用实例方法。
类方法: 类方法是类对象所拥有的方法,类方法的第一个参数必须是类对象,可以通过实例对象和类对象去访问类方法,类方法可以对类属性进行修改。
实例方法: 实例方法是类中最常定义的成员方法,它至少有一个参数并且必须以实例对象作为其第一个参数, 在类外实例方法只能通过实例对象去调用,不能通过其他方式去调用。
静态方法:静态方法需要通过修饰器 “@staticmethod ”来进行修饰, 静态方法不需要多定义参数。 静态方法中不需要额外定义参数, 因此如果在静态方法中引用类属性,则必须通过类对象来引用。
解析:
暂无解析
1、【题目】请分别说明Python中正则表达式、lambda函数、装饰器、异常处理、断言处理各自的用途。
答案:
正则表达式:
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串 ”,这个“规则字符串 ”用来表达对字符串的一种过滤逻辑。
lambda函数:是指没有函数名的简单函数,只可以包含一个表达式,不允许包含其他复杂的语句, 表达式的结果是函数的返回值。 用匿名函数有个好处, 因为函数没有名字,所以不必担心函数名冲突。
装饰器: 可简单地理解为一个函数,这是一个用来包装函数的函数,经常用于为已经存在的函数添加额外的功能。 当多个函数有重复代码时, 可以将此部分代码单独拿出来整理成一个装饰器,然后对每个函数调用该装饰器,这样可以实现代码的复用,而且可以让原来的函数更轻便。 当需要为多个己经写好的函数添加一个共同功能, 例如检查参数的合法性时, 就可以单独写一个检查合法性的装饰器, 然后在每个需要检查参数合法性的函数处调用即可,而不用去每个函数内部修改。
断言处理
解析:
暂无解析
1、【题目】请用Python语言编写一个简易的通讯录管理程序。
答案:
mydic={}
while True:
print("="*7," 通讯录管理系统 ","="*7)
print("1.增加姓名和手机 ")
print("2.删除姓名 ")
print("3.修改手机号 ")
print("4.查询所有用户 ")
print("5.根据姓名查找手机号 ")
print("6.退出")
print("="*29)
a=input("请选择要执行的项目: ")
if a=="1":
name=input("请输入联系人姓名: ")
tel=input("请输入手机号: ")
if tel.isdigit() and len(tel)==11:
mydic[name]=tel
print("当前手机内联系人: ",mydic)
else:
print("输入有误 ")
elif a=="2":
name=input("请输入要删除的姓名: ")
tel=mydic.pop(name)
print("已删除: "+name+tel)
print("当前手机联系人: ",mydic)
elif a=="3":
name=input("请输入要修改的手机号姓名: ")
tel=input("请输入新的手机号: ")
mydic[name]=tel
print("修改成功! ")
print("当前手机内联系人: ",mydic)
elif a=="4":
print("当前手机内联系人: ",mydic)
elif a=="5":
name=input("请输入要查询的联系人姓名: ")
print(name,mydic[name])
print("")
elif a=="6":
print("感谢使用通讯录系统 ")
break
else:
print("输入有误 ")
解析:
暂无解析
1、【题目】Python语言有哪些数据类型?
答案:
数值类型(整型、浮点型、复数型) 、布尔型、字符串、列表、元组、字典和集合等
解析:
暂无解析
1、【题目】请用 Python 语言编写一个简易的系统登录程序。
答案:
import tkinter.messagebox
import tkinter
my_window = tkinter.Tk() # 生成 my_window 主窗口
my_window.title('welcome my_window') # 设置窗口标题
cv = tkinter.Canvas(my_window,bg='lightcyan') # 用画布设置窗口的颜色
cv.pack()
my_window.geometry('200x150') # 设置窗口大小
# label 标签(用户名和密码的变量)
varName = tkinter.StringVar() # 文字变量储存器器
varName.set('admin')
varPwd = tkinter.StringVar()
varPwd.set('123456')
# 创建账户的标签
labname = tkinter.Label(my_window,text=' 用户名 ',justify=tkinter.RIGHT,bg='pink',width=80)
labname.place(x=10,y=5,width=80,height=20)
# 创建文本框,同事设置关联变量
enterName = tkinter.Entry(my_window,width=80,textvariable=varName)
enterName.place(x=100,y=5,width=80,height=20)
# 创建密码的标签 和文本框
labPwd = tkinter.Label(my_window,text=' 密码',justify=tkinter.RIGHT,bg='pink',width=80)
labPwd.place(x=10,y=30,width=80,height=20)
enterPwd = tkinter.Entry(my_window,show='*',width=80,textvariable=varPwd)
enterPwd.place(x=100,y=30,width=80,height=20)
# 登录按钮事件处理函数
def login():
Name = enterName.get()
Pwd = enterPwd.get()
if Name =='admin' and Pwd == '123456':
tkinter.messagebox.showinfo(title='Python tkinter',message=' 登录成功!!')
else:
tkinter.messagebox.showerror(title='python tkinter',message=' 登录失败 ')
# 创建按钮组件,并且设置按钮事件的处理函数
buttonOK = tkinter.Button(my_window,text = 'login',background='lightskyblue',command =
login())
buttonOK.place(x=30 , y=70 , width=50,height=20)
# 取消按钮的时间处理函数
def cancel():
# 清空用户输入的用户名和密码
varName.set('')
varPwd.set('')
buttonCancel =
tkinter.Button(my_window,text='Cancel',background='lightgray',command=cancel())
buttonCancel.place(x=100,y=70,width=50,height=20)
# 启动消息循环
my_window.mainloop()
解析:
暂无解析
1、【题目】简述元组与列表的异同。并简述它们各自的用途。
答案:
Python元组和列表一样, 都是有序序列, 在很多情况下可以相互替换, 很多操作也类似,但它们也有区别:元组是不可变的序列类型,元组能对不需要改变的数据进行写保护,使数据更安全。列表是可变的序列类型,可以添加、删除或搜索列表中的元素。元组使用小括号定义用逗号分隔的元素, 而列表中的元素应该包括在中括号中。虽然元组使用小括号,但访问元组元素时,要使用中括号按索引或分片来获得对应元素的值。元组可以在字典中作为关键字使用,而列表不能作为字典关键字使用,因为列表不是不可改变的。只要不尝试修改元组,那么大多数情况下把它们作为列表来进行操作用途:列表可被用于保存多个互相独立对象的数据集合元组用于描述一个不会改变的事务的多个属性
解析:
暂无解析
1、【题目】请分别举例说明,在Python中函数的实在参数与形式参数间单向和双向传递数据是如何实现的。函数的位置参数与关键字参数有何区别?
答案:
在 Python 中,实参向形参传送数据的方式是“值传递” ,即“拷贝”或“复制”。实参的值传给形参, 是对象间整体赋值, 是一种单向传递方式, 不能由形参传回给实参。
函数体传入的参数, 为函数体外变量引用的副本。 在函数体中改变变量指向的堆中的值,对函数外变量有效。在函数体中改变变量的引用,对函数外变量无效。
关键字参数和位置参数的区别:
函数调用时的参数通常采用按 位置匹配的方式,即实参按顺序传递给相应位置的形参。实参的个数应与形参个数必须完全相等。
在函数调用中使用关键字参数,是指通过形式参数的 名称 来指示为哪个形参传递什么值,这可以跳过某些参数或脱离参数的顺序。
解析:
暂无解析
1、【题目】在Python中如何实现栈和队列?请举例说明。
答案:
class Stack(object):
def __init__(self):
self.stack=[]
def isEmpty(self):
return self.stack==[]
def push(self,item):
self.stack.append(item)
def pop(self):
if self.isEmpty():
raise IndexError,'pop from empty stack'
return self.stack.pop()
def peek(self):
return self.stack[-1]
def size(self):
return len(self.stack)
class Queue:
def __init__(self, head=None):
self.storage = [head]
def enqueue(self, new_element):
self.storage.append(new_element)
def peek(self):
return self.storage[0]
def dequeue(self):
return self.storage.pop(0)
解析:
暂无解析
酷奇网专稿内容,转载请注明出处
来源链接:http://kaoshi.kq7.com/kaoshi_225442/