python的基础

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=10
if x>0:
    print 'x是正数\n',x-10

elif x<0:
    print 'x是负数\n',x+10

else:
    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,值为1
a = 1
print 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 python
from __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 + num2
elif operate == "-":
    print num1 - num2
elif operate == "*":
    print num1 * num2
elif operate == "/":
    print num1 / num2
else:
    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 say
let'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'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值