社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

全栈数据工程师养成攻略:Python 基本语法

CDA数据分析师 • 8 年前 • 690 次点击  


作者    宏伦工作室

本文转自简书,转载需授权


Python简单易学,但又博大精深。许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉。学海无涯,我们先来了解一些Python中最基本的内容。


Python的特点

解释型语言,无需编译即可运行 
提供了交互式命令行 
基于对象的编程思想 
跨平台和良好的兼容性,在Windows、Mac、Linux上都可运行 
简单好用而且功能强大

中文编码

很多同学在打开数据时会遇上乱码问题,其原因是字符集的编码问题。Linux和Mac默认的编码集是UTF8,而Windows则是ASCII。如果数据编码的字符集,和你使用Python进行处理时所用的字符集不同,则会出现乱码问题。

这里是一篇参考文章,http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html,详细地介绍了Python中文编码所涉及的内容。

另外,我个人的习惯是在Python代码的头部加入以下内容,其中第二行声明了使用UTF8字符集。

变量

Python中的变量可以看作是一个个容器,里面存放着我们需要使用到的值。Python对变量名的要求和其他语言一样:可以包括英文、数字以及下划线,但不能以数字开头,区分大小写。当然我推荐,变量名用纯英文就很好,并且取一些有意义的名称,便于自己理解每个变量的作用。

Python是一门弱类型的语言,在使用变量时无需声明其类型。Python中的变量包括以下几类:数值、字符串、列表、元组、字典。

数值

数值包括整型和浮点型,分别对应整数和浮点数,后者精度更高。

字符串也就是我们经常接触到的文本,可以往里面放任意长度的内容,用单引号或双引号括起来。应当注意,中文以及中文符号只能出现在字符串內,如果在下面第三行中使用了中文输入法的逗号 , ,Python将报错。

使用 + 可以拼接两个字符串。

使用 len() 可以得到字符串的长度。

使用切片可以访问字符串中的某个字符或某个片段。

列表

列表好比一条队伍,里面依次存放着多个变量。列表和字符串类似,但字符串中的每个元素都是字符,而列表中的每个元素可以是任意类型的变量。

使用 len() 可以获得列表的长度。

列表元素的按下标访问和赋值等操作,和字符串都是类似的。

使用 del 删除列表中的某个元素。




    

元组

元组和列表类似,唯一的不同是元组中的元素在初始化之后不能再更改,因此可以理解成一个只读的变量。

字典

字典是一种极为重要的变量类型,使用一个key来访问相应的value,即一种键值对的数据形式。

所以能够总结出字典和列表的不同。列表中的元素是有序对等的,所以是用下标来赋值和访问,而字典中的元素是无序的,所以是用key来操作相应的value。

使用 has_key() 判断字典中是否有某个key。

如果访问不存在的key,Python将会报错。在赋值的时候,如果key已经存在,则会用新的value覆盖已有的value。

注释

被注释的代码将不会运行,可以看作是写给自己和其他程序猿阅读的一些笔记和说明,提高代码可读性。

在Sublime中,选中需要注释的内容,按Ctrl+/即可完成注释。

保留字符

在Python中,有一些字符串具有某些特定功能,如 import 、 class 等。我们在选择变量名时,应注意避开这些保留字符。

行和缩进

在Python中,代码块的边界不是通过大括号等符号进行显式划分,而是通过行的缩进实现的。连续相同缩进水平的代码处于同一个代码块,在使用 for 、 while 、 if 、 try 等语法时需要注意每行代码的缩进。

运算符

运算符的作用是根据已有的变量生成新的变量,主要有以下几种:

算术运算符:+,-,*,/,%,即加、减、乘、除、取余 
比较运算符:==,!=,>,=,<=,即等于、不等于、大于、小于、大于等于、小于等于 
赋值运算符:=,+=,-=,*=,/=,%=,即赋值、加赋值、减赋值、乘赋值、除赋值、取余赋值 
逻辑运算符:and,or,not,即与、或、非

条件

在写代码的时候,往往需要根据某些条件进行判断,并根据判断结果执行不同的分支代码。

需要注意的是,但凡出现了 if 和 elif ,就需要加上相应的条件判断,并且注意代码的缩进。

在Sublime中输入 if 会出现相应的提示,可以方便地补全代码,在换行时光标也会自动跳到合适的缩进处。

循环

如果需要打印从1到100的100个数,肯定不会傻傻地写100行print代码,而是会用循环来处理类似的重复性工作。

while 循环

while 循环的思想是,只要某一条件成立,就不断执行循环体里的代码,直到条件不再成立。

for 循环

for 循环的循环次数一般是事先预知的,将一个标志变量从某个起始值迭代到某个终止值后即结束。

循环控制

循环控制主要包括三种: pass 、 continue 、 break 。

pass 表示什么也不做,只是占一行代码的位置;continue 表示立即退出本轮循环,继续执行后续轮循环;break 表示立即推出循环,后续循环也不再执行。


时间

在处理数据时,很多地方都会涉及到时间,例如数据产生的时间。

先介绍一下时间戳的概念,时间戳指的是从1970年1月1日0时0分0秒开始,到某一时刻所经历的秒数,可以是整数或者小数,后者的精度更高。

为什么需要时间戳这样的一个概念?因为对于同一个时刻,不同人的描述可能不同,毕竟文本的形式千变万化,而时间戳使得时间的表达得到了统一,每个时刻只能用唯一的整数或浮点数来表示,同时也便于计算时间差这样的处理。

关于时间戳,最常用的处理便是时间戳和时间文本之间的转换,例如将 2016年10月1日 10时0分0秒 转为时间戳。

其中, %Y 、 %m 等都是时间字段,前者表示四位的年份,后者表示两位的月份。

文件

文件操作包括向文件中写内容,以及从文件中读内容,使用 open() 打开一个文件。

异常

Python代码中可能会出现一些可以预知的问题,例如字典访问的key不存在。如果不加处理,发生问题的时候Python便会报错并退出,可能之前跑了很久又要重头再来。因此,我们需要对可能出现的异常进行捕捉和处理。异常的结构由 try 、 except 、 else 、 finally 四部分组成。

函数

函数的作用是代码模块化,将可重用的代码封装成一个函数,这样在需要使用的时候就只需调用写好的函数即可,而不用重新写一遍代码。

函数的使用包括两个部分,函数的定义和函数的调用。除此之外,函数可以有一个或多个参数,参数之间以逗号分开,为函数的功能提供更多的灵活性。

补充学习

以上所介绍的,都是Python中最基础和最常用的内容,先掌握这些就可以跟上后续章节。

往期精彩文章回顾


 
分析了Facebook上发布的1亿条视频,我们发现最受欢迎的视频类型是...



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/1AEBHaCHnh
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3240