Python运维开发基础01-语法基础【转】
開篇導(dǎo)語
- 整個Python運維開發(fā)教學采用的是最新的3.5.2版,當遇到2.x和3.x版本的不同點時,會采取演示的方式,讓同學們了解。
- 教學預(yù)計分為四大部分,Python開發(fā)基礎(chǔ),Python開發(fā)進階,Python網(wǎng)頁編程,Python項目實戰(zhàn)
- Python開發(fā)基礎(chǔ)分為語法基礎(chǔ)篇,文件基礎(chǔ)篇,函數(shù)基礎(chǔ)篇,模塊基礎(chǔ)篇
- 語法基礎(chǔ)篇中,我著重希望訓練同學的是作為開發(fā)應(yīng)該具備的一種邏輯思路。
- 文件基礎(chǔ)篇中,我們需要練習的是如何將數(shù)據(jù)永久性的存儲在硬盤上,提供讀,寫。
- 函數(shù)基礎(chǔ)篇中,我重點是要引導(dǎo)同學們構(gòu)建出整個代碼架構(gòu)的編寫設(shè)計模式。只有邏輯和架構(gòu)完全成型同學們才算是從思想上真正進入開發(fā)領(lǐng)域的大門。
- 模塊基礎(chǔ)篇中,我們接觸很多常用的模塊,比如裝飾器和生成器等。并通過這些模塊來繼續(xù)完善優(yōu)化我們對整個代碼架構(gòu)的設(shè)計能力。
- 至此,我們Python開發(fā)基礎(chǔ)部分就結(jié)束了,大概60課時,15小節(jié)。
一,Python發(fā)展介紹
二,Python的基礎(chǔ)環(huán)境構(gòu)建
在編譯之前,我們先yum安裝一些支持程序
yum -y install gcc gcc-c++ make autoconf readline readline-devel
2.1 Centos6.5升級Python2.7和Python3.5程序
升級Python2.7.13
[root@localhost ~]# tar xf Python-2.7.13.tgz -C /usr/src/ [root@localhost ~]# tar xf Python-2.7.13.tgz -C /usr/src/ [root@localhost Python-2.7.13]# ./configure --prefix=/usr/local/python27 [root@localhost Python-2.7.13]# make && make install [root@localhost python27]# cd /usr/local/python27/ [root@localhost python27]# python -V Python 2.6.6 [root@localhost python27]# which python /usr/bin/python [root@localhost python27]# mv /usr/bin/python /usr/bin/python26 [root@localhost bin]# ln -s /usr/local/python27/bin/python /usr/bin/python [root@localhost bin]# python -V Python 2.7.13?
?升級Python3.5.2
[root@localhost ~]# tar xf Python-3.5.2.tgz -C /usr/src/ [root@localhost ~]# cd /usr/src/Python-3.5.2/ [root@localhost Python-3.5.2]# ./configure --prefix=/usr/local/python35 [root@localhost Python-3.5.2]# make && make install [root@localhost python35]# cd /usr/local/python35/bin/ [root@localhost bin]# ln -s /usr/local/python35/bin/python3 /usr/bin/python3 [root@localhost bin]# python3 -V Python 3.5.2?
修復(fù)yum倉庫的編譯錯誤
[root@localhost bin]# vim `which yum` [root@localhost bin]# head -1 `which yum` #!/usr/bin/python26 #修改這里?
2.2 創(chuàng)建Python的vim初始練習環(huán)境
在家目錄創(chuàng)建如下文件和內(nèi)容
[root@localhost ~]# cat ~/.vimrc set cursorlineset tabstop=4set shiftwidth=4set expandtabfunction PythonHeader()call setline(1,"#!/usr/bin/env python3")call setline(2,"# -*- coding:utf-8 -*-")call setline(3,"# author:你的名字")normal Gnormal onormal o endfuncautocmd BufNewfile *.py call PythonHeader()map <F5> :!clear ;python3 % <CR> #用Python3 執(zhí)行當前shell?
三,初識Python
3.1 解析器的寫法
他們的區(qū)別?
#!/usr/bin/env python #!/usr/bin/python?
env是一個查找器,它會自動幫我們?nèi)フ襭ython這個可執(zhí)行文件位置
3.2 第一個Python程序
在Linux下創(chuàng)建一個文件叫做hello.py
print("hello world!")然后執(zhí)行命令:python hello.py
[root@localhost ~]# python3 hello.py hello world!指定解釋器:
如果想用類似于shell腳本一樣的方式執(zhí)行python腳本,例如:./hello.py,那么就需要在hello.py文件的頭部指定解釋器,如下:
#代碼演示:#!/usr/bin/env python3print ("hello world!")#輸出結(jié)果 [root@localhost ~]# ./hello.py hello world!在交互器中執(zhí)行代碼
除了把程序?qū)懺谖募?#xff0c;還可以直接調(diào)用python自帶的交互器運行代碼。
[root@localhost ~]# python3 Python 3.5.2 (default, Dec 20 2017, 01:15:07) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux Type "help", "copyright", "credits" or "license" for more information.3.3 Python的變量
Python是一種強制編譯型語言,它不需要像類似C語言一樣提前聲明變量的類型,而是根據(jù)賦值的內(nèi)容是什么自動確定變量的類型
變量定義規(guī)則:
- 變量名只能是字母,數(shù)字或下劃線的任意組合
- 變量名的第一個字符不能是數(shù)字
- 以下關(guān)鍵字不能聲明為變量名
關(guān)鍵字是什么?
類似Python程序默認的類型int,str還有系統(tǒng)環(huán)境變量等都是關(guān)鍵字
四,思考題與作業(yè):利用Shell實現(xiàn)"模擬用戶登錄程序"
4.1 shell知識補充
(1)break,continue,return,exit循環(huán)控制語句作用演示
(2)腳本庫函數(shù)functions引用
4.2 shell實現(xiàn)用戶登錄驗證程序
[root@localhost yunjisuan]# cat login.sh #!/bin/bash #user loginUser="yunjisuan" Passwd="666666" User2="yunjisuan2" Passwd2="123123" Lock=""function Title(){ cat<<KOF************************** 1,登錄用戶 ** 2,退出 ************************** KOF }function Login(){ #用戶登錄功能模塊具體要求: #0,先判斷用戶名是否被鎖定,如果被鎖定,禁止登陸。 #1,判斷用戶名是否正確,不正確重新輸入 #2,已知用戶名判斷密碼是否正確,如果不正確重新輸入密碼。 #3,密碼輸入3次如果全都錯誤,賬戶鎖定(將用戶名,放進變量Lock里) #4,如何放進變量里:Lock="$Lock $user",通過grep -w精確匹配過濾. #5,腳本一直不退出。除非,用戶主動退出或者登陸成功!}while : doclearTitleread -p "請輸入你的選擇:" Numcase $Num in1)Login;;2)exit;;*)echo "您的輸入有誤,請重新輸入!" sleep 2;;esac done?
轉(zhuǎn)載于:https://www.cnblogs.com/paul8339/p/9625508.html
總結(jié)
以上是生活随笔為你收集整理的Python运维开发基础01-语法基础【转】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 列表 元组 字符串
- 下一篇: 消息过滤