emmmmmmmm沒想到,我竟然卡在這關就卡的這麼久,主要是安裝Anaconda就安裝了我五遍,每一遍竟然錯誤的結果都不一樣,首先想跟大家分享下我安裝ANACONDA會出現的問題以及解決方法。(由於沒有隨手截圖的好習慣,所以下面只能文字描述,請大家自行想像,抱歉抱歉)
1.更新所有包的時候更到百分之幾就停了
解決方法:有時候更新到一般,某個包的進度條就卡住了可以卡到第二天的那種(我就是這樣的)我也不知道為什麼,這時候只要(煩躁一點的)隨便敲打一些字母,或者數字進度條突然就會咻咻咻的更新了。雖然不知道為什麼,但是基本卡住的次數中,有一半用這個辦法是行得通的。可能我的電腦就這麼奇葩吧。
2.更新到某個包的時候就不更新了,或者就是更新的好慢
解決方法:可以參照一下鏈接里的方法,基本可以成功。
3.如何更改jupyter notebook所在的環境
這裡可以參照下面鏈接最後的解決辦法:
但是!!!當我以為事情可以這麼簡單的解決的時候,發現我的jupyter notebook竟然打不開了!我開始以為是安裝的時候出了錯,結果就是重新安裝還是不行。
這裡我用的是修改windows系統里的菜單欄。後來不知道為啥突然腦洞大開,給目標里的路徑加了個單引號,然後因為是window系統,所以我的路徑採用的是雙斜杠的(\)的。然後就可以了!雖然不知道為什麼,但是我的奇葩電腦就是可以。
4.下載了Anaconda之後發現竟然沒有jupyter notebook
終於安好ANACONDA和改好路徑了,正當我踏上學習的步伐,我朋友過來給我重裝了一下電腦的系統。於是,一夜回到解放前,我又得再次重新安裝。結果發現這次安裝完後,只剩prompt了。我想大概我的電腦比較害羞,還沒有做好學習的準備,於是我重新安裝,發現啥都有了,就是沒有jupyter notebook。
沒有jupyter,不可怕,畢竟我可以直接在prompt上輸入jupyter notebook就可以打開了,但是找不到.jupyter目錄,我就改不了環境。於是我在網上找到了解決方法,如下:
同時我也收到了其他解決安裝Anaconda沒有jupyter notebook的方法,我沒有試過(已經沒有勇氣再重新裝了),但是其他人可以嘗試看看,鏈接如下:
https://blog.csdn.net/weixin_42275636/article/details/80408942?blog.csdn.net安裝Anaconda3後,Spyder、Ipython等圖標找不到?www.jianshu.com
最後的最後,我終於可以開始學習python了,此名字以表我安裝anaconda的艱辛以決心。
接下來總結一下我所學的python知識
注釋:Python中單行注釋以#開頭,或者多行注釋用三個單引號或者三個雙引號"""將注釋括起來。
字元串:使用引號(或")來創建字元串
name = coco print(name) 結果:coco
Python字元串格式化:
print ("我叫 %s 今年 %d 歲!" % (小明, 10)) 結果:我叫 小明 今年 10 歲!
python三引號允許一個字元串跨多行,字元串中可以包含換行符、製表符以及其他特殊字元。實例如下:
para_str = """這是一個多行字元串的實例 多行字元串可以使用製表符 TAB ( )。 也可以使用換行符 [ ]。 """ print (para_str) 結果是: 這是一個多行字元串的實例 多行字元串可以使用製表符 TAB ( )。 也可以使用換行符 [ ]。
列表:創建一個列表,只要把逗號分隔的不同的數據項使用方括弧括起來即可。使用下標索引來訪問列表中的值,同樣你也可以使用方括弧的形式截取字元。使用append()方法來添加列表項。使用 del 語句來刪除列表的的元素
namelist = [六六,安淇,檸檸,彤彤] namelen = len(namelist) print(列表長度:病人數目:,namelen) namelist.append(淇淇) print(增加1個元素:,namelist) del namelist[1] print(刪除了第二個元素:,namelist) name1 = namelist[0] print(查詢列表的第一個元素是:,name1) namelist[0] = 劉劉 print(修改後的第一個元素是:,namelist[0])
結果為
列表長度:病人數目: 4 增加1個元素: [六六, 安淇, 檸檸, 彤彤, 淇淇] 刪除了第二個元素: [六六, 檸檸, 彤彤, 淇淇] 查詢列表的第一個元素是: 六六 修改後的第一個元素是: 劉劉
元祖:元組使用小括弧,列表使用方括弧。不需要括弧也可以元組創建很簡單,只需要在括弧中添加元素,並使用逗號隔開即可。
gafatatuple = (騰訊,apple,alibaba,google,facebook,amazone) gafatatuplelen = len(gafatatuple) print(the length of gafatapule is ,gafatatuplelen)
結果:
the length of gafatapule is 6
集合:集合(set)是一個無序的不重複元素序列。可以使用大括弧{ }或者set()函數創建集合,注意:創建一個空集合必須用set()而不是{ },因為{ }是用來創建一個空字典。
gafatasets = {騰訊,apple,alibaba,google,facebook,amazone,alibaba,google} print(gafatasets)
{apple, amazone, google, 騰訊, facebook, alibaba}
添加元素可以是s.add( x ),也可以是s.update( x ),但結果不一樣,請看如下程序的結果。移除為s.remove( x )或者s.discard( x ),但是用s.discard( x ),如果元素不存在,不會發生錯誤。而remove會。x in s 判斷元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
stockset = set() stockset.update([騰訊,apple,alibaba,google,facebook]) print(stockset) stockset.discard(apple) print(stockset) txbool = 騰訊 in stockset print(txbool) stockset.update(jingdog) print(stockset) stockset.add(京東add) print(stockset) stockset.update([京東update]) print(stockset)
{google, alibaba, 騰訊, apple, facebook} {google, alibaba, 騰訊, facebook} True {google, alibaba, j, i, d, n, o, 騰訊, g, facebook} {google, alibaba, j, i, d, n, o, 騰訊, 京東add, g, facebook} {google, alibaba, j, i, d, n, 京東update, o, 騰訊, 京東add, g, facebook}{google, alibaba, 騰訊, apple, facebook} {google, alibaba, 騰訊, facebook} True {google, alibaba, j, i, d, n, o, 騰訊, g, facebook} {google, alibaba, j, i, d, n, o, 騰訊, 京東add, g, facebook} {google, alibaba, j, i, d, n, 京東update, o, 騰訊, 京東add, g, facebook}
字典:字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括弧({})中。
patientDic={001:猴子,002:馬雲,003:王健林,004:馬化騰} patientDic2={001:[猴子,29,1型糖尿病,較差], 002:[馬雲,34,2型糖尿病,好轉], 003:[王健林,28,1型糖尿病,顯著好轉], 004:[馬化騰,52,2型糖尿病,好轉]} print(patientDic2[001][1:4]) #1)容器操作:增加 patientDic2[005]=[王思聰,30,1型糖尿病,好轉] print(patientDic2) #2)容器操作:刪除 del patientDic2[005] print(patientDic2) #4)容器操作:修改 print(修改之前,病人信息:,patientDic2[001]) patientDic2[001]=[猴子, 29, 1型糖尿病, 好轉] print(修改之後,病人信息:,patientDic2[001]) print(patientDic2)
條件判斷:
形式一般如下:
if condition_1: statement_block_1 elif condition_2: statement_block_2 else: statement_block_3
實例:
age = int(input("請輸入你家狗狗的年齡: ")) print("") if age < 0: print("你是在逗我吧!") elif age == 1: print("相當於 14 歲的人。") elif age == 2: print("相當於 22 歲的人。") elif age > 2 and age <= 16: human = 22 + (age -2)*5 print("對應人類年齡: ", human) elif age > 16: print("你是在逗我吧!") ### 退出提示 input("點擊 enter 鍵退出")
循環:Python中的循環語句有 for 和 while。
形式一般為:
#while語句 while 判斷條件: 語句
#for語句 for <variable> in <sequence>: <statements> else: <statements>
n = 100
sum = 0 counter = 1 while counter <= n: sum = sum + counter counter += 1
print("1 到 %d 之和為: %d" % (n,sum))
sites = ["檸檸", "琪琪","六六","彤彤"] for site in sites: if site == "六六": print("六六哈哈哈哈!") break print("循環數據 " + site) else: print("沒有循環數據!") print("完成循環!")
結果為:
1 到 100 之和為: 5050
break 語句可以跳出 for 和 while 的循環體。如果你從 for 或 while 循環中終止,任何對應的循環 else 塊將不執行。continue語句被用來告訴Python跳過當前循環塊中的剩餘語句,然後繼續進行下一輪循環。Python pass是空語句,是為了保持程序結構的完整性。pass 不做任何事情,一般用做佔位語句。
函數:
函數代碼塊以def關鍵詞開頭,後接函數標識符名稱和圓括弧()。任何傳入參數和自變數必須放在圓括弧中間,圓括弧之間可以用於定義參數。函數的第一行語句可以選擇性地使用文檔字元串—用於存放函數說明。函數內容以冒號起始,並且縮進。return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。一般格式如下:
def 函數名(參數列表): 函數體
def add(x,y): z=x+y return z c=add(134,5) print(134加5等於:,c)
結果是:
134加5等於: 139
模塊:模塊是一個包含所有你定義的函數和變數的文件,其後綴名是.py。模塊可以被別的程序引入,以使用該模塊中的函數等功能。這也是使用 python 標準庫的方法。用import語句可以引用模塊。
import module1[, module2[,... moduleN] from modname import name1[, name2[, ... nameN]] #rom 語句讓你從模塊中導入一個指定的部分到當前命名空間中 from modname import * #把一個模塊的所有內容全都導入到當前的命名空間
import sys pathlist = sys.path print(python 的路徑是: ,pathlist)
數據結構:
隊列:在隊列里第一加入的元素,第一個取出來;但是拿列表用作這樣的目的效率不高。在列表的最後添加或者彈出元素速度快,然而在列表裡插入或者從頭部彈出速度卻不快(因為所有其他的元素都得一個一個地移動)
from collections import deque queue = deque([001,002,003,004,005]) print(queue) queue.append(006) #加一個元素 print(queue) a=queue.popleft() print(a)
棧:列表方法使得列表可以很方便的作為一個堆棧來使用,堆棧作為特定的數據結構,最先進入的元素最後一個被釋放(後進先出)。用 append() 方法可以把一個元素添加到堆棧頂。用不指定索引的 pop() 方法可以把一個元素從堆棧頂釋放出來
stack = [3, 4, 5] stack.append(6) stack.append(7) print(stack) print(stack.pop())
推薦閱讀:
TAG:Python入門 |