[求职]笔试刷题记录-Python基础-第一天

标签:Python, 编程,笔试
代码:

list1 = {'1':1,'2':2}
list2 = list1
list1['1'] = 5
sum = list1['1'] + list2['1']
print(sum)

输出:

10

解释:
b = a: 赋值引用,a 和 b 都指向同一个对象。
list1 和 list2 指向的是同一块内存空间
list1['1']=5 ------> 改变了这一块内存空间中'1'的value值
执行这一步后内存空间存储的数据变为:{'1': 5, '2': 2}
因此 sum = list1['1']+list2['1']=5+5=10


Python3 的六个标准数据类型中:

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。


代码:

print(r'\nwoow')

输出:

\nwoow

解释:
原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。


代码:

a=[1, 2, 3, 4, 5]
sums = sum(map(lambda x: x + 3, a[1::3]))
print(sums)

解析:

lambda [arg1 [,arg2,.....argn]]:expression
map(function, iterable, ...)#会根据提供的函数对指定序列做映射
a[1::3] # a列表中下标为1的值是2,步长step为3,所以a[1::3]就是[2,5]

输出:

13

代码:

a = 'a'
print(a > 'b' or 'c')

输出:

'c'

逻辑运算符:
and
x and y
如果 x 为 False,x and y 返回 False(x=0时,返回0),否则它返回 y 的计算值。
or
x or y
如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。
not
not x
如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。


return没有返回值时,函数自动返回None,Python没有Null


1.变量无需事先声明
2.变量无需指定类型
3.程序员不用关心内存管理
4.变量名会被“回收”
5.del语句能够直接释放资源
6.变量只有被创建和赋值后才能被使用


b = a: 赋值引用,a 和 b 都指向同一个对象。
b = a.copy(): 浅拷贝, a 和 b 是一个独立的对象,但他们的子对象还是指向统一对象(是引用)。浅复制是指只拷贝父对象,不会拷贝对象的内部的子对象,即两个 dict 父对象相互独立,但对它们内部子对象的引用却是共享的
b = copy.deepcopy(a): 深度拷贝, a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。


单前导下划线: _var
下划线前缀的含义是告知其他程序员:以单个下划线开头的变量或方法仅供内部使用。它是对程序员的一个提示 - 意味着Python社区一致认为它应该是什么意思,但程序的行为不受影响。
但是,前导下划线的确会影响从模块中导入名称的方式。现在,如果使用通配符从模块中导入所有名称,则Python不会导入带有前导下划线的名称(除非模块定义了覆盖此行为的__all__列表)。
应该避免通配符导入,因为它们使名称空间中存在哪些名称不清楚。 为了清楚起见,坚持常规导入更好。
单个下划线是一个Python命名约定,表示这个名称是供内部使用的。 它通常不由Python解释器强制执行,仅仅作为一种对程序员的提示。

单末尾下划线:var_
单个末尾下划线(后缀)是一个约定,用来避免与Python关键字产生命名冲突

双前导下划线:__var
双下划线前缀会导致Python解释器重写属性名称,以避免子类中的命名冲突。
这也叫做名称修饰(name mangling) - 解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突

双前导和末尾下划线:__var__
如果一个名字同时以双下划线开始和结束,则不会应用名称修饰
Python保留了有双前导和双末尾下划线的名称,用于特殊用途。 这样的例子有,__init__对象构造函数,或__call__--- 它使得一个对象可以被调用。
这些dunder方法通常被称为神奇方法 - 但Python社区中的许多人(包括我自己)都不喜欢这种方法。
最好避免在自己的程序中使用以双下划线("dunders")开头和结尾的名称,以避免与将来Python语言的变化产生冲突。

单下划线:_
按照习惯,有时候单个独立下划线是用作一个名字,来表示某个变量是临时的或无关紧要的,有时_是大多数Python REPL中的一个特殊变量,它表示由解释器评估的最近一个表达式的结果。


range()函数
range(start, stop[, step])
start: 计数从 start 开始。默认是从 0 开始。
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)


字符串格式化
%d%i 转换为带符号的十进制整数
%s 使用 str() 函数将表达式转换为字符串
例如:

print('今天是刷%s的第%d天' % ('python',1))

输出

今天是刷python的第1天

str.endswith(suffix[, start[, end]])
用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
如果只有一个参数,例如:

str.endswith(suffix,2)

则表明从2开始到结束


isinstance(object,classinfo),用于判断object是否是classinfo的一个实例,或者object是否是classinfo类的子类的一个实例,如果是返回True.
issubclass(class,classinfo),用于判断class是否是classinfo类的子类,如果是返回True.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python-开篇 Python是一种通用的解释型,交互式,面向对象的高级编程语言。它是由Guido van Ro...
    泥人冷风阅读 4,132评论 0 0
  • 1、注释的作用 单行注释: # 多行注释:三对单引号(’’’注释内容’’’) 增加程序的可读性 提高团队开发效率 ...
    繁花似锦之流年似水阅读 3,770评论 0 1
  • Python貌似有点火热,上手还是比较简单的,自己找了个教程也偷偷的学习一下,扒了一下网上的图片和数据,感觉并不是...
    Steven_SHH阅读 10,574评论 0 28
  • 一·Python是如何进行内存管理Python是动态类型的语言,对象与引用分离,在Python中,整数和短小的字符...
    只喝白开水a阅读 2,662评论 0 0
  • 定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类...
    绩重KF阅读 9,412评论 0 13