目录

编程习惯

代码规范

python中self的作用

易混淆之处


编程习惯

1. 添加主函数if __name__ == 'main':

2. 使用project_path = os.getcwd()自动获取文件路径,将代码和数据文件夹放在一个project下,可以更轻松的获取文件路径,不必担心代码移植出现的文件路径问题。

3. 设置pycharm 编程模版

4. 可以将自定义的python函数封装成一个类class Solution(object),通过创建对象o = class_name(),对象调用类内创建的函数获得运行结果o.longestPalindrome(s)

5. 轻量级循环

# 列表推导式
[x*x for x in range(10) if x % 3 ==0]
[(x,y) for x in range(3) for y in range(3)]
[b+'+'+g for b in boys for g in girls if b[0] == g[0]]

6. 字符串匹配,返回True or False

re.match(pattern,x)  # 正确返回True,错误返回False

7. python利用正则表达式提取指定字符串内容 

方法:re.findall,re.finditer

import reresult = re.findall(r'(\w+)=(\d+)', 'set width=20 and height=10')
print(result)
[('width', '20'), ('height', '10')]

代码规范

python中self的作用

参考:python——类中的self到底有什么作用

  • 在python的类中self代表实例本身,具体来说,是该实例的内存地址。

需要注意的是,self不是关键字,换言之,可以用其它的合法变量名替换self,但是,规范和标准建议我们一致使用self。

  • 和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数”(廖雪峰老师说的)。
  • 实例变量有什么作用,或者说,什么时候应该使用self修饰变量比较好?我的总结如下:

当我们想将某个变量绑定给实例时,就在类中,使用self修饰该变量。一般来说,类实例化为不同实例后,为了不同实例的某一变量互不干扰,就将该变量绑定给实例。

具体的使用场景,
1)若需要在类的不同方法中调用同一变量,且属于同一个类的不同实例的该变量互不影响(即排除类属性),则在类中将该变量绑定给实例。
2)需要在类实例化得到实例后,修改、或引用实例的某变量,则在类中将该变量绑定给实例。

易混淆之处

1. list[a:b]分片取子列表和range(10)都取不到最后一个数的索引值

比如,list[3:6]取不到6这个索引值;range(10)取不到10这个索引值

--> python2 range()返回的是列表;python3 range()返回的是一个可迭代的对象。

==?为什么编程语言不能从1开始呢,为什么不能从头取到尾呢?

2. 换行符--'\n',TAB制表符--'\t',是用转义字符'\'(反斜杠)而不是'/'。

python编程基础(四):编程习惯、代码规范、易混淆之处相关推荐

  1. 计算机科学与技术学习路线编程基础四大件应用实践编程(含C++学习路线)

    计算机科学与技术学习路线&编程基础四大件&应用实践编程(含C++学习路线) 基本介绍 本人211科班出身,目前大学临近毕业,想给迷茫的同行者或者后来人一些建议和推荐,少走弯路.想想自己 ...

  2. 【Python知识点梳理】10.Python的垃圾回收机制、代码规范及命令行参数

    Python的垃圾回收机制.代码规范及命令行参数 文章目录 1.Python的垃圾回收机制 2.Python的引用计数机制 3.Python中的循环数据结构及引用计数 4.Python中的GC模块 5 ...

  3. pythonfor输入多个数字_我一天学会了python最基础的编程

    Python编程基础 变量 任何语言都离不开变量,python也不例外,但是python中的变量不需要像c语言那样需要事先声明变量的类型,它会根据你输入的值自动判断类型,而且python还支持多个变量 ...

  4. DirectInput编程基础-游戏手柄编程

    导读: DirectInput编程基础 - 简介 出 处: 中国游戏开发者 [ 2001-09-09] 作 者: 目 录 1.1 DirectInput概念 1.2 设置DirectInput 1.3 ...

  5. Python实用基础(思路+资料整理+代码)

    Python 练习册(笔记) 说明: https://www.zybuluo.com/susugreen/note/2512434 点此链接,会看到部分题目的代码,仅供参考 本文本文由@史江歌(shi ...

  6. python编程基础(四):if 语句 增强程序鲁棒性

    一. 条件测试 1.判断相等:  == 2.使用 and 判断多个条件:  条件均为 true 的时候,才是 true 类似于 &&  与 3.使用 or 判断多个条件:  条件有一个 ...

  7. python的基础网络编程是下列_Python基础(六)网络编程

    Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. sock ...

  8. python的基础网络编程是下列_Python入门基础之网络编程、socket编程、TCP、UDP编程...

    忙了两天,继续更文!希望多多支持. 套接字 套接字是一种具有之前所说的"通讯端点"概念的计算机网络数据结构.网络化的应用程序在开始任何通讯之前都必需要创建套接字. 套接字有三种: ...

  9. python基础===PEP网站,代码规范指南

    PEP 8是最古老的PEP之一,它向Python程序员提供了代码格式设置指南.PEP 8的篇幅很长,但大都与复杂的编码结构相关. https://python.org/dev/peps/pep-000 ...

最新文章

  1. 撩课mysql_撩课-Mysql第20部分索引
  2. Ray Tracing,Ray Casting,Path Tracing,Ray Marching 的区别?
  3. 轻量级神经网络:ShuffleNetV2解读
  4. Android: Bundle机制
  5. php无法下单功能,PHP如何解决并发下单问题?(不一定是下单,举个例)
  6. 5个常见的Hibernate异常及其解决方法
  7. linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05)
  8. html二级下拉菜单模板,基于jQuery实现二级下拉菜单效果
  9. 【python】numpy数组的维度增减方法
  10. JS的Touch事件们
  11. imail PHP,NT下基于邮件服务软件(IMAIL)的邮件发送程序–(本地版)-PHP教程,邮件处理...
  12. linux中级之HAProxy基础配置
  13. matlab中的语言,把c语言变成matlab语言,可以在matlab中运行。
  14. 教你炒股票21:缠中说禅买卖点分析的完备性
  15. C语言乘法口诀表代码
  16. Xweibo for Discuz!X1.5V1.1安装教程
  17. vr转换软件android版,普通视频转换成VR
  18. win7蓝屏0x0000003b解决教程
  19. 利用python破解zip压缩文件密码
  20. 《乾》: 相时而动的龙精神

热门文章

  1. Java——容器(Comparable)
  2. linux系统下源码安装mysql5.6数据库
  3. 读取SBT项目resources目录中的文件
  4. 问题Re-installation failed due to different application signatures.解决
  5. 【转载】WINCE物理和虚拟地址的问题
  6. 一个好的MIS系统应该考虑哪些内容
  7. CSP认证201803-2 碰撞的小球[C++题解]:模拟
  8. CSP认证201503-4 网络延时[C++题解]:树的直径
  9. Leetcode1704判断字符串的两半是否相似(C++题解)
  10. r语言的MASS包干什么的_怎么记住r语言这么多包?