Python 简单易学, 但又博大精深. 许多人号称精通 Python, 却不会写 Pythonic 的代码, 对很多常用包的使用也并不熟悉. 学海无涯, 我们先来了解一些 Python 中最基本的内容.
Python 的特点
解释型语言, 无需编译即可运行
提供了交互式命令行
基于对象的编程思想
跨平台和良好的兼容性, 在 Windows,Mac,Linux 上都可运行
简单好用而且功能强大
中文编码
很多同学在打开数据时会遇上乱码问题, 其原因是字符集的编码问题. Linux 和 Mac 默认的编码集是 UTF8, 而 Windows 则是 ASCII. 如果数据编码的字符集, 和你使用 Python 进行处理时所用的字符集不同, 则会出现乱码问题.
另外, 我个人的习惯是在 Python 代码的头部加入以下内容, 其中第二行声明了使用 UTF8 字符集.
!/usr/bin/env python# coding:utf8
变量
Python 中的变量可以看作是一个个容器, 里面存放着我们需要使用到的值.
Python 对变量名的要求和其他语言一样: 可以包括英文, 数字以及下划线, 但不能以数字开头, 区分大小写. 当然我推荐, 变量名用纯英文就很好, 并且取一些有意义的名称, 便于自己理解每个变量的作用.
Python 是一门弱类型的语言, 在使用变量时无需声明其类型. Python 中的变量包括以下几类: 数值, 字符串, 列表, 元组, 字典.
Python 学习群: 556370268, 有大牛答疑, 有资源共享! 是一个非常不错的交流基地! 欢迎喜欢 Python 的小伙伴!
数值
数值包括整型和浮点型, 分别对应整数和浮点数, 后者精度更高.
image
字符串
字符串也就是我们经常接触到的文本, 可以往里面放任意长度的内容, 用单引号或双引号括起来. 应当注意, 中文以及中文符号只能出现在字符串內, 如果在下面第三行中使用了中文输入法的逗号 ,Python 将报错.
image
使用 + 可以拼接两个字符串.
print(c + d)
使用 len() 可以得到字符串的长度.
print(len('Hello World'))
使用切片可以访问字符串中的某个字符或某个片段.
image
列表
列表好比一条队伍, 里面依次存放着多个变量. 列表和字符串类似, 但字符串中的每个元素都是字符, 而列表中的每个元素可以是任意类型的变量.
image
使用 len() 可以获得列表的长度.
print(len(a))
列表元素的按下标访问和赋值等操作, 和字符串都是类似的.
image
使用 del 删除列表中的某个元素.
dela[0]
print(a)
06 元组
元组和列表类似, 唯一的不同是元组中的元素在初始化之后不能再更改, 因此可以理解成一个只读的变量.
image
字典
字典是一种极为重要的变量类型, 使用一个 key 来访问相应的 value, 即一种键值对的数据形式.
image
所以能够总结出字典和列表的不同. 列表中的元素是有序对等的, 所以是用下标来赋值和访问, 而字典中的元素是无序的, 所以是用 key 来操作相应的 value.
image
使用 has_key() 判断字典中是否有某个 key.
print(di.has_key('k4'))
如果访问不存在的 key,Python 将会报错. 在赋值的时候, 如果 key 已经存在, 则会用新的 value 覆盖已有的 value.
注释
被注释的代码将不会运行, 可以看作是写给自己和其他程序猿阅读的一些笔记和说明, 提高代码可读性.
这里是单行注释'''这里是很多行注释'''
在 Sublime 中, 选中需要注释的内容, 按 Ctrl+/ 即可完成注释.
Python 学习群: 556370268, 有大牛答疑, 有资源共享! 是一个非常不错的交流基地! 欢迎喜欢 Python 的小伙伴!
保留字符
在 Python 中, 有一些字符串具有某些特定功能, 如 import , class 等. 我们在选择变量名时, 应注意避开这些保留字符.
以下变量赋值将报错 import = 1
行和缩进
在 Python 中, 代码块的边界不是通过大括号等符号进行显式划分, 而是通过行的缩进实现的. 连续相同缩进水平的代码处于同一个代码块, 在使用 for , while , if , try 等语法时需要注意每行代码的缩进.
运算符
运算符的作用是根据已有的变量生成新的变量, 主要有以下几种:
算术运算符:+,-,,/,%, 即加, 减, 乘, 除, 取余
比较运算符:==,!=,>,<,>=,<=, 即等于, 不等于, 大于, 小于, 大于等于, 小于等于
赋值运算符:=,+=,-=,=,/=,%=, 即赋值, 加赋值, 减赋值, 乘赋值, 除赋值, 取余赋值
逻辑运算符: and,or,not, 即与, 或, 非
image
条件
在写代码的时候, 往往需要根据某些条件进行判断, 并根据判断结果执行不同的分支代码.
image
需要注意的是, 但凡出现了 if 和 elif , 就需要加上相应的条件判断, 并且注意代码的缩进. 在 Sublime 中输入 if 会出现相应的提示, 可以方便地补全代码, 在换行时光标也会自动跳到合适的缩进处.
循环
如果需要打印从 1 到 100 的 100 个数, 肯定不会傻傻地写 100 行 print 代码, 而是会用循环来处理类似的重复性工作.
while 循环
while 循环的思想是, 只要某一条件成立, 就不断执行循环体里的代码, 直到条件不再成立.
image
for 循环
for 循环的循环次数一般是事先预知的, 将一个标志变量从某个起始值迭代到某个终止值后即结束.
image
可以用 for 循环方便地遍历列表和字典
image
循环控制
循环控制主要包括三种: pass , continue , break .pass 表示什么也不做, 只是占一行代码的位置; continue 表示立即退出本轮循环, 继续执行后续轮循环; break 表示立即退出循环, 后续循环也不再执行.
image
时间
在处理数据时, 很多地方都会涉及到时间, 例如数据产生的时间. 先介绍一下时间戳的概念, 时间戳指的是从 1970 年 1 月 1 日 0 时 0 分 0 秒开始, 到某一时刻所经历的秒数, 可以是整数或者小数, 后者的精度更高.
为什么需要时间戳这样的一个概念? 因为对于同一个时刻, 不同人的描述可能不同, 毕竟文本的形式千变万化, 而时间戳使得时间的表达得到了统一, 每个时刻只能用唯一的整数或浮点数来表示, 同时也便于计算时间差这样的处理.
image
关于时间戳, 最常用的处理便是时间戳和时间文本之间的转换, 例如将 2016 年 10 月 1 日 10 时 0 分 0 秒 转为时间戳.
image
其中, %Y , %m 等都是时间字段, 前者表示四位的年份, 后者表示两位的月份.
18 文件
文件操作包括向文件中写内容, 以及从文件中读内容, 使用 open() 打开一个文件.
image
异常
Python 代码中可能会出现一些可以预知的问题, 例如字典访问的 key 不存在. 如果不加处理, 发生问题的时候 Python 便会报错并退出, 可能之前跑了很久又要重头再来. 因此, 我们需要对可能出现的异常进行捕捉和处理. 异常的结构由 try , except , else , finally 四部分组成.
image
函数
函数的作用是代码模块化, 将可重用的代码封装成一个函数, 这样在需要使用的时候就只需调用写好的函数即可, 而不用重新写一遍代码.
函数的使用包括两个部分, 函数的定义和函数的调用. 除此之外, 函数可以有一个或多个参数, 参数之间以逗号分开, 为函数的功能提供更多的灵活性.
image
来源: http://www.jianshu.com/p/9c0e103e5f38