python写作业题,<每日一题>题目20:简单python练习题(11-20)

#11.编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式

Num = input("请输入任性自然数:")

Num = eval(Num)

print("二进制:",bin(Num))

print("八进制:",oct(Num))

print("十六进制:",hex(Num))

#12.简述迭代器和生成器的区别

‘‘‘

迭代器:类中有next和iter方法,可以使用for循环(例:字符串(string),列表(list),字典(dict),元组(tuple))

生成器:能创建迭代器,只需要在返回的时候将return换成yield就是生成器

区别:生成器能做到迭代器所能做的所有事,能节约内存且更加简洁,生成器终结时,能自动抛出StopIteration异常

‘‘‘

#13.什么是线程安全

‘‘‘

在多线程的环境下,保证多个线程同时执行且运行正确,保证对于共享数据可以由多个线程存取,但同一时刻只能有一个线程进行存取.

多线程解决资源竞争的方法是加锁,加锁能保证存取操作的唯一性

‘‘‘

#14.你所遵循的代码规范是什么?举例说明

‘‘‘

变量:

1.常量:大写加下划线ABC_DEF

2.私有变量:变量名前面加一个前导的下划线_private_value

3.内置变量:小写,前后各加2个下划线__class__

函数和方法

1.函数名写法:小写和下划线(当然还有小驼峰,大驼峰等)

2.私有方法:小写和前导一个下划线(跟私有变量类似)

3.特殊方法:小写,前后各加2个下划线__repe__

代码量:

1.一行不要超过79列(不要超过满屏显示的列数)

2.一个函数不要超过30行代码

3.一个类不要超过200行代码,不要超过10个方法.

4.一个模块不要超过500行

‘‘‘

#15.python中简单的实现列表去重

‘‘‘

a = [1,2,3,1,3,4]

a = set(a)

a = list(a)

print(a)

‘‘‘

#16.python中yield的用法

‘‘‘

yield简单说就是一个生成器,它能记住上次返回函数体的位置,

‘‘‘

#17.什么是面向对象编程

‘‘‘

将相近相似的逻辑和操作、应用数据、状态以类的形式描述出来,以对象实例在软件系统中复用,以达到提高开发效率的作用

‘‘‘

#18.简述GIL锁对python多线程的影响?

‘‘‘

GIL(Global interpreter Lock)全局解释器锁.设计来做线程安全的.每个CPU在同一时间只能执行一个线程

1.获取GIL

2.执行代码直到sleep或者python虚拟机将其挂起

3.释放GIL

‘‘‘

#19.Ajax是什么,如何使用AJAX

‘‘‘

ajax(异步的javascript和Xml)能够刷新局部网页数据而不是重新加载整个网页

‘‘‘

#20.post和get的区别

‘‘‘

1.GET请求,请求数据会附加到URL之后,以?分割

post请求:post请求,会把数据放在http请求包中

get会将数据暴露在地址中,post不会

2.传输数据大小

get请求会受url长度的制约

post不是url传值,理论上不收限制,但服务器会规定post提交数据的大小

3.安全性

post安全性比get高.

‘‘‘

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值