Python使用过程中的一些Tips(用于自己学习的覆盘)

【2020/03/27】

  1. Python的变量和函数的命名一般都用下划线的方式,驼峰的命名方式一般用在给类命名(编程习惯问题)。
  2. Python一行太长的话可以换行,换行一般有两种方式:
方式 注意点
\ 这种划线的话需要注意换到下一行的代码要适当的缩进,让人看起来要指导是同一行代码
() 将一整行代码外加一个括号,这样就是一个整体,可以任意回车切分,这对编译器来说是没有区别的,但是对于程序员看起来就舒服多了
区别 个人感觉还是反划线更加清晰明了一点,个人更加倾向使用\
  1. 列表 []
  • 有序的,可重复的,里面啥都能装,放个函数都可以
  • 可变元素,因为可以append(), 内容发生变化的时候id()是不会变化的
  • 初始化的话:a = list() 或者 a = []都是可以用来进行初始化
  • 列表的推导:
    比如下面的,想给列表a中的每个元素度+1操作
    好处有两个(1) 代码短,(2)相比循环,代码也快
a = [1, 2, 3]
# 方式一:原始的for循环形式的
b = []
for e in a:
	b.append(e+1)
a = b
print(a)

# 方式二: 列表的推导形式
a = [e + 1 for e in a]
print(a)	
# 这里对推导形式的理解稍微讲一下,
# a = [e+1 for e in a] 中的第一部分就是需要对元素进行的操作
# 然后后面的for循环就是遍历着做那些操作。

由此可见是非常好用的,代码能够看起来清秀很多!

  1. .split()切分函数

  2. .join()拼接函数
    上面两个函数都是针对字符串的。用法都可以直接搜索, 其实最快的也可以直接help(.join())就行了,多熟悉代码文档,是最直接的老师!

  3. 编程写代码的时候心里一定要有“重用”的概念,但是切记:过犹不及!不要一味的炫技!

【2020/03/30】

  1. lambda关键字
    就是一样内写个小函数,增强程序的可读性用的;

  2. map函数:
    用法: map(func, 可遍历的元素)
    就是把可遍历的元素依次用第一个参数func处理,最后也返回可便利的容器,举个例子吧,就清楚了:

f = lambda x: x**2
list(map(f, [1, 2, 3]))
#输出结果:
[1, 4, 9]

#下面是体现lambda函数的效果的写法
list(map(lambda x: x**2, [1, 2, 3]))

由此可见,map函数就是把目标函数施加在容器元素中的每个元素上!

  1. 列表和元组的区别:
    一个老生常谈的问题,列表是可变的,元组是不可变的,元组类似于常量,但是都可以进行索引。

  2. 代码调试的话,到时候pbd进行专题的学习!

【2020/04/04】
清明节到了,我已经忘记自己由多少个日子没有回老家上坟了,这就是日子吗?这就是日子吧。

  1. Python中全大写的变量都是作为常量来处理的。
  2. Python中的深拷贝和浅拷贝:
    这个问题满常见的,自己面试被问到了两次,一直没有深入的思考过,想要对这个由教牢固的理解,首先得指导由赋值深拷贝浅拷贝这些概念。
    下面一一道来:
  • (1)赋值:
    相当于赋值引用,有点像C++中的引用,就是给了个别名而已,a和b其实还是指向同一个对象的:
    在这里插入图片描述

  • (2)深拷贝:a 和 b 完全拷贝了父对象及其子对象,两者是完全独立的。
    需要导入copy模块:

import copy
a = {1:[1, 2, 3]}
b = copy.deepcopy(a)

在这里插入图片描述

  • (3)浅拷贝:a 和 b 是一个独立的对象,但他们的子对象还是指向同一对象(是引用)。
a = {1:[1, 2, 3]}
c = a.copy()

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章