Python是一门非常强大的面向对象的解释性编程语言。
所谓解释性编程语言是指在运行前无需编译,由解释器进行翻译解析,效率相对较低,不过已经够用了。
Python目前有2和3两个大版本,建议直接学习Python 3,与Python 3语法上有一些区别,差异不大。
网上有很多Python的入门教程,可以参考学习,建议如下:
廖雪峰Python教程,我当年的入门教程,推荐学习。
Python3—菜鸟教程,菜鸟系列很多教程都不错。
入门教程随便看一个,跟下去,掌握下语法基本使用即可,有英文能力的建议阅读官网文档。(建议做完几个项目后再看,一般职场人、英文水平一般很难读下去,可以作为参考)。
这里我不会一一重复Python 3的基本语法,分享几个我认为的关键点。
能力有限,可能理解有误,欢迎大家批评指正,一起学习进步。
没有大括号和分号
和其他语言用大括号{ }组织代码块不同,Python没有大括号,冒号:开始,相同的缩进量代码表示一个代码块。
Python 代码无需分号结束,当然可以区分多行,不建议使用。
万物皆对象
哪怕一个数值都是一个Python对象,有属性和方法,可以通过object.attr 或 object.method(参数)调用。
Python对象没有与之关联的类型信息,一个变量对应的类型可以被改变,但是每个对象都有一个特定类型,不能乱用。
有些Python对象不可变,即不能修改原内存块的数据,修改后也是创建一个新的对象。
对python变量赋值时就是将一个对象,如列表[1,2,3],和变量名a绑定起来,对象是本质,变量名只是一个引用,传递参数也是引用。变量分为可变与不可变,建议参考网上更详细教程,如“python变量赋值(可变与不可变)”。
Python控制流
和其他语言一样,Python也有循环、条件判断等控制语句,可以实现各种复杂的业务逻辑。
注意Python控制流的一个代码块以冒号开始、等量缩进。
- 没有switch语句,用if,elif实现
- for循环一般采用in关键字
- 只有while循环,没有do while循环
- 同样有continue,break等关键字可以跳出循环
import导入
Python一个很大的优势是有很多第三方库,也就是别人造了很多“轮子”,在你干活时,总能找到一个合适的轮子,比如处理时间、文本、数据分析、爬虫、科学计算等。我们只需要import导入轮子(模块)就可以使用。
一个模块module,包含一些变量和方法,也就是一个.py文件。在其他代码中import后,即可直接使用。
如通过编写some_module.py,然后import导入即可使用:
还有from、as等关键字配合import使用。如导入常用的数据出来第三方库pandas。
import pandas as pd
Python 常用数据结构
在我们日常使用的Python中,常用的数据结构有:标量、字符串、Bool值、None、列表list、集合set、字典dict、元组tuple等。
其中四个常用序列总结如下,更详细内容关注官方文档。
函数
函数是Python最主要也是最重要的代码组织和复用手段。特别是数据分析时,应该编写大量函数
函数是用def关键字声明,return关键字返回,无return返回None。
def myfun(x,y,z=1):
pass
return xx
Python函数又很多高级功能,如匿名函数、闭包、柯里化等,有需要可以官网查询。
文件操作
python内置open()函数 相对路径或绝对路径打开
f = open(path)
默认情况下,文件只读模式(r)打开,然后可以类似处理列表一样:
for line in f:
带有完整的行结束符(EOL)
f = open(path,w) # w只写模式 创建新文件 删除同名文件
a 附加到现有文件、r+ 读写模式、b 二进制文件、U 通用换行模式
文件句柄.write() 或writelines()
readlines write close flush seek tell closed
以上分享了Python的基本语法,更多知识参考官网文档。
下一篇我们分享Python在数据分析的应用实例——简明python开发教程(3):用Pandas进行数据处理。