概述
一,赋值问题
list1 = {‘1’:1,‘2’:2}
list2 = list1
list1[‘1’] = 5
sum = list1[‘1’] + list2[‘1’]
print(sum)-------------------------------------------》5+5=10
赋值: 只是复制了新对象的引用,不会开辟新的内存空间
赋值就是引用如b = a: 赋值引用,a 和 b 都指向同一个对象。
a = “2”
b = “a”
b和a理解为引用,a指针和b引用都指向字符串2这个内存
二,切片操作不会引起下标越界异常,但通过下标访问会越界
list = [‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
print list[10:]
输出[]
print(list[10])
IndexError: list index out of range
三,[-5,257)之间的小整数共用一个内存地址
已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的执行结果 ()
TRUE
四,endswith(suffix,2)
str = “Hello,Python”;
suffix = “Python”;
print (str.endswith(suffix,2));-----------------------------------》true
str.endswith(suffix,2) 中的2是指:从字符串"Hello,Python" 中的位置2,也就是第一个‘l’开始检索,判断是否以suffix结尾,故本题输出 True
五,input的使用
python2.x中input()和raw_input()都存在
raw_input():接受任何类型的输入,返回的对象类型为字符串
input():等价于eval(raw_input()),它希望读取一个合法的python表达式,所以当输入字符串时,需要给输入的内容添加单/双引号。此外,python2.x中input()具有一个特性:当输入的类型为数字时,返回的对象类型也为数字。
python3.x中,只有input()函数
input():接受任何类型的输入,返回的对象类型为字符串。
六,lambda表达式
lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值。
def f(x):
return x**2
print f(4)
Python中使用lambda的话,写成这样
g = lambda x : x**2
print g(4)
七,map函数
map(a,b)
用a规则来执行b,然后把执行的每一个结果放到一个map的类对象里
map(lambda x: x + 3, a[1::3])
八,字典的取值
dict.get(key, default=None) 返回指定key在字典中的值,如果key在字典中不存在则返回default的值(default值默认为None,也可以自己指定);
对比记忆:
dict[‘key’] 返回指定key在字典中的值,如果key则字典中不存在,则直接报错
dict.setdefault(key,default=None) 如果key在字典中存在,则返回key在字典中指定的值;如果key值不存在,则默认将key添加到字典中去,并将其值设置为default(default默认值为None,也可以自己指定)
九,try,except,else,finally
try:的语句出现异常才会执行except后的语句,如果正常,则执行完try后执行else。另外,finally语句不管有无异常都会执行。
else可以理解为except的else,except不执行就执行else
try:
待检查语句
except name1:
异常1处理语句
except name2:
异常2处理语句
except:
异常通用处理语句
else:
待检查语句无异常发生时要被执行的语句
finally:
无论有无异常发生都一定会被执行的语句
十,类中的变量名字
_x:保护变量,禁止通过from module import _x导入该对象
_x:私有化变量,避免与子类属性命名冲突,无法在外部直接访问,无法继承,只能在类内部定义时被其他雷利的方法调用,无法在外部调用,但是其本质是改了个名改为了:如对于classname类里的__funname方法本质为名字改为_classname__funname
x:用户名的魔法属性,不能自己定义
xx:用于避免和python关键词冲突
十一,哪些东西是false
下列对象的布尔值都是False:
NONE;
False(布尔类型)
所有的值为零的数
0(整型)
0.0(浮点型)
0L(长整型)
0.0+0.0j(复数)
“”(空字符串)
()(空元组)
{}(空字典)
线程协程
线程由操作系统控制,
协程由程序自身控制
模块导入对象
import module_a #导入
from module import xx
from module.xx.xx import xx as rename #导入后重命令
from module.xx.xx import * #导入一个模块下的所有方法,不建议使用
module_a.xxx #调用
sys.argv是传递给python脚本的命令行参数【字符串】列表
argv[0]为该脚本自身路径,其余为命令行参数
“none” 0 python2.7中/除法运算不会保留小数位,python3会保留小数位,用//代表整除; print 逗号 表示同一行输出,并以空格分隔
下列语句执行结果是什么?
a = [1, 2, 3]
print a*3
参考答案
[1, 2, 3, 1, 2, 3, 1, 2, 3]
➕用于组合列表,✖️用于重复列表
最后
以上就是温暖含羞草为你收集整理的牛客网python考题笔记的全部内容,希望文章能够帮你解决牛客网python考题笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复