python的基础

来源:互联网 发布:类似知否的古风宅斗文 编辑:程序博客网 时间:2024/05/17 22:06

python

简介

Python, 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
(1)python的版本
python2.x 2.7.x->rhel 7.0 7.2
python3.x
(2)python的网页
www.tiobe.org

python在shell的交互式使用

python与ipython
(1)python
这里写图片描述

(2)ipython
这里写图片描述

(3)python与ipython的区别
ipython是python的升级版,更完善的交互使用python语言

python在shell中脚本书写的解释器

python的一个例子:

#!/usr/bin/env python   ##解释器#coding:utf-8_author_ = "lvah"'''@author:fairy@file:111.py@contact:'''x=10if x>0:    print 'x是正数\n',x-10elif x<0:    print 'x是负数\n',x+10else:    print 'x为零'

/usr/bin/env python 与 /usr/bin/python 的区别

由于python的版本不同不兼容,python脚本到达不同系统会有语法错误,所以需要加上环境变量
环境变量 env

字符编码

ASCII :是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
1字节=8位,2^8=256,a-z A-Z (不足够中文字符)

Unicode :(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
2字节=16位,2^16=65536,a -> 两字节 中文 -> 两字节 (对字母而言-字节浪费)

utf-8 :UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。
a -> 1字节,中文 -> 3字节

GB2312 :2字节

这里写图片描述

示例:

#!/usr/bin/env python#coding:utf-8       ##定义字符编码(可识别中文字符)#coding=utf-8       ##格式2#encoding:utf-8     ##格式3#encoding=utf-8     ##格式4#定义变量a,值为1a = 1print a

内存读取:Unicode
存储硬盘:utf-8

字符的编码(encode): unicode -> utf-8
字符的解码(decode): utf-8 -> unicode

##字符的编码>>> name_utf8 = name_unicode.encode('utf-8')   ##字符的解码>>> name_unicod1 = name_utf8.decode('utf-8')

这里写图片描述

python的解释器

Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器。

cpython(ClassicPython,也就是原始的Python实现,需要区别于其他实现的时候才以CPython称呼;或解作C语言实现的Python)。这是最常用的Python版本。

ipthon:cpython(底层)高配,

Jpython:java,(原名JPython;Java语言实现的Python,现已正式发布)。Jython可以直接调用Java的各种函数库。

Ironpython:windos .net,(面向.NET和ECMA CLI的Python实现)。IronPython能够直接调用.net平台的各种函数库。可以将Python程序编译成.net程序。

pypy:JIT,just in time(使用Python语言写的Python)

编辑器

vim
gedit
atom -> github
pycharm

///
markdown -> .md -> atom -> pdf
git
svn

变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念

命名规则:
变量名必须以字母或下划线打头,名字中间只能由字母、数字和下划线“_”组成

运算符

赋值运算符:=,+=,-+,/=,%=,=,*=
算术运算符:+,-,,/,//,%,*
关系运算符:>,<,>=,<=,==,!=
逻辑运算符:逻辑与(and)或(or)非(not)
1本身代表true
0本身代表false

示例:
用python实现一个四则运算

#!/usr/bin/env pythonfrom __future__ import division     ##这里引入除法的小数结果形式'''                 ##''' '''表示注释部分,有时候可以指定规范python的格式@author:fairy@file:4.py@contact:xiaojun0118@foxmail.com@time:6/25/173:48 PM@DESC;'''num1 = input("num1:")operate = raw_input("operate:")num2 = input("num2:")if operate == "+":    print num1 + num2elif operate == "-":    print num1 - num2elif operate == "*":    print num1 * num2elif operate == "/":    print num1 / num2else:    print "error"

测试:
这里写图片描述

基本数据类型

整型:

>>> a = 123>>> type(a)<type 'int'>

长整型:

>>> a = 123L         ##加L强制转为长整型>>> type(a)<type 'long'>>>> a = 1111111111111111111111111111111111111111111111111111111111111111111111111>>> type(a)<type 'long'>

浮点型(小数):

>>> a = 1.0>>> type(a)<type 'float'>

复数:

>>> a = 1+4j>>> type(a)<type 'complex'>

字符串(Character string )

字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的

##字符串的定义方式1>>> str1 = 'hello world'  ##单引号>>> type(str1)<type 'str'>##字符串的定义方式2>>> str2 = "hello world"  ##双引号>>> type(str2)<type 'str'>##字符串的定义方式3>>> str3 = """hello world"""  ##三重双引号>>> type(str3)<type 'str'>##字符串的转义(\)>>> say = 'let\'s go'>>> print saylet's go

三重单引号

(1)注释
(2)字符串的格式化
示例:
输入主机的信息,给出相应的信息

#!/usr/bin/env python# coding:utf-8_author_ = "lvah"'''@author:fairy@file:en.py@contact:xiaojun0118@foxmail.com@time:6/25/172:43 PM@DESC;'''hostname = raw_input("主机名:")IP = raw_input("IP:")used_year = input("使用年限:")CPU = raw_input("CPU:")Memory = raw_input("内存:")manager_name = raw_input("管理员:")if used_year > 10:    print '该服务器使用年限太久!'else:    print '''                        主机信息    主机名:%s    IP:%s    使用年限:%d    CPU:%s    Memory:%s    manager_name:%s    ''' % (hostname, IP, used_year, CPU, Memory, manager_name)

字符串索引

正向从0位开始,反向从-1位开始

>>> a = 'hello world'>>> a[1]'e'>>> a[0]'h'>>> a[-1]'d'>>> a[0]+a[6]'hw'

字符串的切片

>>> a = '01234567'>>> a[0:5:1]     ##表示从0到5,以步长为1取值'01234'>>> a[-1:5:1]    ##python默认是从左往右的''>>> a[-1:5:-1]   ##当步长为-1时,从右向左取值'76'>>> a[0:5:2]'024'>>> a[0:5:-2]''>>> a[:]        ##表示取所有'01234567'
原创粉丝点击