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 .vimrc
set 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, readline
readline.parse_and_bind('tab: complete')# chmod +x /usr/local/bin/tab.py# vim ~/.bash_profile
PYTHONSTARTUP=/usr/local/bin/tab.py
export 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:', user
Your name is: Jun
>>> num = raw_input('Input a number: ')
Input a number: 100
>>> num + 1
Traceback (most recent call last):File "<stdin>", line 1, in <module>
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 < 70:print '及格'
elif 70 <= score < 80:print '良'
elif 80 <= score < 90:print '好'
elif score >= 90:print '优秀'
else:print '你要努力了!'

玩转Python脚本开发-01相关推荐

  1. Nuke python脚本开发 01

    这部分讲nuke启动后运行的脚本 1. 评估顺序评估顺序 nuke初始化脚本的运行顺序和插件路径是相反的.默认的nuke插件路径如下: ['/home/nukeuser/.nuke',       ' ...

  2. 【GIS人必学】零基础学习ArcGIS Python脚本开发训练营来了

    Python作为一种高级程序设计语言,凭借其简洁.易读及可扩展性日渐成为程序设计领域备受推崇的语言.ArcGIS软件由于其面向地理问题的科学理念,不断创新的技术方法,已在国内外市场占据了主导地位.Py ...

  3. python脚本开发_python

    python详情>> Python(发音:英[ˈpaɪθən],美[ˈpaɪθɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟 ...

  4. Python自动化开发01

    一. 变量 变量命名规则 变量名只能是字母.数字或下划线的任意组合 变量名的第一个字符不能是数字 以下关键字不能声明为变量名   ['and', 'as', 'assert', 'break', 'c ...

  5. Python游戏开发-04-键盘方向键控制精灵移动和翻转(基于Python游戏开发-01)

    import pygame import sys from pygame.locals import *#初始化Pygame pygame.init()clock = pygame.time.Cloc ...

  6. 学会Python就能做游戏脚本开发?别天真了!—— 关于游戏脚本的3个质疑

    现如今想从事和游戏相关的工作,例如游戏开发或游戏脚本策划的伙伴越来越多. 很多想从事脚本开发的伙伴有如下3点质疑: 1.学会Python就可以从事游戏脚本的工作吗? 2.脚本开发只需要学习Python ...

  7. 学会Python就能做游戏脚本开发?别天真了!

    现如今想从事和游戏相关的工作,例如游戏开发或游戏脚本策划的伙伴越来越多. 很多想从事脚本开发的伙伴有如下3点质疑: 1.学会Python就可以从事游戏脚本的工作吗? 2.脚本开发只需要学习Python ...

  8. 玩转Python必备:史上最全的Python库,【值得收藏,事半功倍】

    库名称     简介 Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主要用于在终端或浏览器 ...

  9. python测试开发自学教程-【光荣之路】Python全栈测试开发课程

    5 个月,收获涨薪5-10K Python 编程.UI自动化.接口自动化.性能测试 报名咨询: 微信 fosterwu 吴老师 hhq8286 卓越老师 一. 为什么要学习测试开发自动化 解决手工测试 ...

最新文章

  1. seo说_百度指数看世间沉浮_如何快速排名-互点快速排名_网站关键词排名常见问题 - 搜狗快速排名...
  2. Zabbix 自定义Item经常Not Supported解决
  3. Go内置库模块 flag
  4. 通过路由远程计算机重启,华为无线路由器三种常用重启的方法
  5. Windiws环境安装轻量级文件服务器ftpserver
  6. 用java做登录界面_求用JAVA编写的登陆界面!
  7. 动态多点*** 单云双HUB
  8. atom之插件安装及相关
  9. 基于 React.js + redux + bootstrap 的 RubyChina 示例
  10. Jade win10 安装教程
  11. BP神经网络整定PID
  12. cobar mysql_cobar mysql 高可用
  13. [论文阅读] Meta-Weight-Net: Learning an Explicit Mapping For Sample Weighting
  14. LQR:Linear Quadratic Regulator 线性二次型调节器
  15. PNG图片压缩原理--屌丝的眼泪 #1
  16. 年度十佳电商网站设计赏析
  17. uniapp 日期计算年龄
  18. jpg、jpeg、png、gif、bmp、tiff、ai、cdr、eps 图片格式的区别
  19. 前端项目运行错误提示及解决proble (1 error, 0 warnings) m1 error and 0 warnings potentially fixable with the `--fi
  20. 移动互联网下半场争夺战:逃不过娱乐大网,得年轻中产得天下

热门文章

  1. Word 中插入高亮代码 | planetB | syntax-highlight-word
  2. sql 凭证明细表 科目余额表_sql查询金蝶科目余额表个期间的数据
  3. 应用计算机测定磁敏电阻特性讨论,磁敏电阻工作原理及特性_磁敏电阻的电路符号与应用...
  4. 人工智能几行代码实现换脸
  5. 黑群辉DSM 6.2.3 系统安装
  6. SS中添加多用户失败
  7. 华为手机计算机模式切换,华为m6切换电脑模式操作方法
  8. Java项目毕业设计:交流互动论坛信息网站(java+springboot+vue+mysql)
  9. 5e显示非vac服务器,CSGO出现VAC无法验证的解决方法
  10. HSF 入门-发布和调用hsf服务