Python概述
Python 由 属于解释性语言, 不产生机器代码, 会生产字节码通过字节码来执行。目前python 官网有python2.x 和 python3.x 版本, 两个版本区别较大。推荐先使用python2.7版本, 然后在熟悉python3.x 风格
Python特点
简单
免费、开源
高层语言: 封装内存管理等
可移植性: 程序如果避免使用依赖于系统的特性,那么无需修改就可以在任何平台上运行
解释性: 直接从源代码运行程序,不再需要担心如何编译程序,使得程序更加易于移植。
面向对象: 支持面向过程的编程也支持面向对象的编程。
可扩展性: 需要保密或者高效的代码,可以用C或C++编写,然后在Python程序中使用它们。
可嵌入性: 可以把Python嵌入C/C++程序,从而向你的程序用户提供脚本功能。
丰富的库: 包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP
Python 应用范围:
python运维开发、 Web开发、 机器学习、 科学计算、人工智能等领域
Python 编码
Python编码方式跟其他开发语音类似,要么通过notepad 或者IDE 工具进行编写, 推荐python脚本支持utf-8的格式,如下面:
#coding:utf8或者#-*- encoding:utf-8 -*-
python 代码缩进
Python代码缩进也Python语言一大特点, 不像java、C 等开发语言需要通过对应的{} 来进行代码分割,python 是采用缩进的方式来进行分割,稍有缩进错误python代码在执行的过程中就会报错。python采用空格缩进的方式,不推荐采用tab健的缩进(虽说脚本可以执行, 代码可读性及整体美观度较差) 。如果通过IDE工具如pycharm 那么缩进问题就比较容易解决,如果是通过vim编辑器, 则可以通过.vimrc 文件来设置代码缩进也是一个不错的选择。
# vim .vimrcset ts=4 set expandtab set autoindent
Python 命名规范
Python命令规范, 全局变量由字母数字和下划线组成, 不能用数字开头, 采用大写字母; 局部变量与全局变量类似, 区别在于小字母代替大写字母。函数命名方式与局部变量类似, 函数名之间可以用“_”进行来接,类命令方式则采取驼峰风格, 示例如下:
全局变量:PARAMS, VAR100局部变量:params, var100, _aa函数:def __init__():def get_name():类:class HelloWorld: pass....
Python 注释
Python注释跟linux系统类似采用"#"进行代码注释, 使用于小段及大段代码的注释。 可能有人说“ ''' ”三引号也可以注释,单三个单引号多用于文档说明/代码段说明地方。
Python tab 键自动补齐 实现方式
# vim /usr/local/bin/tab.py#!/usr/bin/env pythonimport rlcompleter, readlinereadline.parse_and_bind('tab: complete')# chmod +x /usr/local/bin/tab.py# vim ~/.bash_profilePYTHONSTARTUP=/usr/local/bin/tab.pyexport PATH PYTHONSTARTUP# source ~/.bash_profile# python>>> import os>>> os. 按tab键,将列出多个os模块的方法
Python输入输出
python输出通过print语句来实现
python>>> print 'Hello Python!'Hello Python!>>> print 'Hello', 'Python'Hello Python>>> print 'Hello' + 'Python'HelloPython
python输入通过raw_input 来实现
python>>> user = raw_input('Enter your name: ')Enter your name: Jun>>> print 'Your name is:', userYour name is: Jun>>> num = raw_input('Input a number: ')Input a number: 100>>> num + 1Traceback (most recent call last): File "", line 1, in TypeError: cannot concatenate 'str' and 'int' objects #这里需要将str转为int类型, 如:num = int(raw_input('Input a number: '))
Python 数据类型比较及标准数据类型
Python有五个标准的数据类型分别如下:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
Python数据类型比较:
按存储模型分类
标量类型:数值、字符串
容器类型:列表、元组、字典
按更新模型分类:
可变类型:列表、字典
不可变类型:数字、字符串、元组
按访问模型分类
直接访问:数字
顺序访问:字符串、列表、元组
映射访问:字典
Python字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符,也是编程语言中表示文本的数据类型。python的字串列表有2种取值顺序:
从左到右索引默认0开始的,最大范围是字符串长度少1
从右到左索引默认-1开始的,最大范围是字符串开头
字符串切片
#!/usr/bin/python# -*- coding: UTF-8 -*- str = 'Hello World!' print str # 输出完整字符串print str[0] # 输出字符串中的第一个字符print str[2:5] # 输出字符串中第三个至第五个之间的字符串print str[2:] # 输出从第三个字符开始的字符串print str * 2 # 输出字符串两次print str + "TEST" # 输出连接的字符串
Python列表
List(列表) 是 Python 中使用最频繁的数据类型。列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
#!/usr/bin/python# -*- coding: UTF-8 -*- alist = [ 'aabb', 123, 23, 'bob', 'a' ]blist = [123, 'abc'] print alist # 输出完整列表print alist[0] # 输出列表的第一个元素print alist[1:3] # 输出第二个至第三个元素 print alist[2:] # 输出从第三个开始至列表末尾的所有元素print blist * 2 # 输出列表两次print alist + blist # 打印组合的列表
Python List常用方法如下:
list.append(obj)
在列表末尾添加新的对象
list.count(obj)
统计某个元素在列表中出现的次数
list.extend(seq)
在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj)
从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj)
将对象插入列表
list.pop([index=-1])
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj)
移除列表中某个值的第一个匹配项
list.reverse()
反向列表中元素
list.sort(cmp=None, key=None, reverse=False)
对原列表进行排序
Python元组
元组是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。
#!/usr/bin/python# -*- coding: UTF-8 -*- tuple = ( 'aabb', 123, 23, 'bob', 'a' ) print tuple # 输出完整元组print tuple[0] # 输出元组的第一个元素print tuple[1:3] # 输出第二个至第三个的元素 print tuple[2:] # 输出从第三个开始至列表末尾的所有元素
Python 字典
字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
#!/usr/bin/python# -*- coding: UTF-8 -*- dict = {}dict['one'] = "This is one"dict[2] = "This is two" userDict = {'name':'bob', 'age':23}print dict['one'] # 输出键为'one' 的值print dict[2] # 输出键为 2 的值print userDict # 输出完整的字典print userDict.keys() # 输出所有键print userDict.values() # 输出所有值
参考脚本:
cat login.py
#!/usr/bin/env pythonimport getpassusername = raw_input("username: ")password = getpass.getpass("password: ")if username == 'bob' and password == '123456': print '\033[32;1mLogin successful\033[0m'else: print '\033[31;1mLogin incorrect\033[0m'
cat if.py
#!/usr/bin/env python# -*- coding: utf8 -*-score = int(raw_input('Score: '))if score >= 60 and score = 90: print '优秀'else: print '你要努力了!'
领取专属 10元无门槛券
私享最新 技术干货