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:[email protected]
@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:[email protected]
@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'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章