python二郎成長筆記(一)(pip升級,python入門,基礎,python2和3不同格式帶來的問題,標頭檔案引用的格式,變數的型別,__name__ == '__main__')

三眼二郎發表於2019-03-17

二郎的作業系統是windows,之前同時安裝了python2和python3,因此在一些應用中還涉及了版本切換以及安裝外掛等問題。
同時安裝是指在Anaconda中完成的,Anaconda(官方網站)就是可以便捷獲取包且對包能夠進行管理,同時對環境可以統一管理的發行版本。利用該軟體可以快速實現版本之間的切換。

首先,二郎最初安裝python是為了執行深度學習,幫舊照片上色的,成功了……之後就一直沒用,現在是想要用python來做雙目立體視覺,所以以這個目的為起點,那麼,開始吧

首先,為了利用到python裡面關於雙目立體視覺的庫,二郎需要安裝外掛
調出命令提示行

cmd

安裝外掛

pip install StereoVision

當然,二郎好久沒用這個了,因此提醒我升級
在這裡插入圖片描述
用提醒的程式碼升級就可以了,有時候一次可能無法完成會出現很多紅色字型,那麼退出再來一遍就可以了。

pip install SomePackage 安裝
pip install --upgrade SomePackage 安裝升級
pip show --files SomePackage 展示外掛是否被安裝
pip uninstall SomePackage 解除安裝外掛
pip list  列出所有外掛
pip list --outdated 列出過時外掛

這裡是總體檔案中的內容,要想到指定資料夾去執行指定程式

cd E:\QQ\FILIVE

在cmd中cd空格後面加地址即可

下面就是python檔案的讀寫了,首先先安利幾個文章,建議有疑問的先閱讀一下
python裡面的程式設計格式:https://www.imooc.com/article/38582;
定義新函式的方法:http://www.cnblogs.com/koala-king/p/10344055.html;
標頭檔案引用的格式:https://www.cnblogs.com/taurusfy/p/7605787.html;
縮排要求:https://blog.csdn.net/w3071206219/article/details/83691598;
符號以及資料型別:https://www.cnblogs.com/xiaocen/p/4292094.html;
python2和3不同格式帶來的問題:https://blog.csdn.net/dietime1943/article/details/79281386;

命令慣例
1、以單一下劃線開頭變數名(x)不會被from module import *語句匯入
2、前後有下劃線的變數名(x)是系統定義的變數名,對python直譯器有特殊的意義
3、以兩個下劃線開頭但結尾沒有下劃線的變數名(__x)是類的本地變數
4、互動式模式下,變數名"
"用於儲存最後表示式的結果

整個程式的框圖為
在這裡插入圖片描述
關於入口問題,c++之類的語言均需要從main函式開始執行,而Python屬於指令碼語言,不像編譯型語言那樣先將程式編譯成二進位制再執行,而是動態的逐行解釋執行。也就是從指令碼第一行開始執行,沒有統一的入口。

這裡說一下

from   const  import   w     #把const.py中的變數匯入我們的程式
import const   #把模組const.py載入進我們的程式,相當於直接把程式附近進入我們的程式,第一次載入只執行一次
Import const as ct  #把模組的名字縮寫為ct

例項
const.py

cox
	xw

引用

import const
print(const.cox.xw())

from const import cox
print(cox.xw())

import const as ct
print(ct.cox.xw())

這裡也可以看出,在哪個模組中的函式或者變數,可以Name.XXX表示

定義變數的型別
在這裡插入圖片描述
1.位置引數:在特定位置傳遞特定的值

def const (x,y)
	c = x+y
	return c

2.預設引數:該引數需要放在位置引數後,為引數定義預設值

def const (x,y=3)   #y為預設引數
    	c = x+y
    	return c

3.可變引數:該引數的個數可變,其包含位置引數或者預設引數(定義時這樣,使用時可直接加入引數),其實就是將位置引數打包

 def const (*c) ……


#使用const(x,y)

4.關鍵字引數:字面理解關鍵字,其實就是將預設引數打包

def person(name,age,**ww):
print('name:',name,'age:',age,'other:',ww)
person('Tom','50')
person('Tom','50',city='Hangzhou')
person('Tom','50',gender='M',job='Teacher')

輸出

name: Tom age: 50 other: {}
name: Tom age: 50 other: {'city': 'Shanghai'}
name: Tom age: 50 other: {'gender': 'M', 'job': 'Teacher'}

if name == ‘main’ 這一句是為了避免由於import載入時,模組需要執行一次而出現我們不需要的資訊,其中__name__ 的值代表了結構,如果當前目錄下直接執行模組,name == ‘main’ ;如果是引用import c,那麼c中的__name__==‘c’。
下面例子來於:http://blog.konghy.cn/2017/04/24/python-entry-program/
1.不加

from const import PI

def calc_round_area(radius):
    return PI * (radius ** 2)

def main():
    print "round area: ", calc_round_area(2)

main()

輸出

PI: 3.14
round area:  12.56

2.加上

PI = 3.14

def main():
    print "PI:", PI

if __name__ == "__main__":
    main()

輸出

round area:  12.56

相關文章