標籤:

Anaconda安裝的常見錯誤和python的基礎知識

emmmmmmmm沒想到,我竟然卡在這關就卡的這麼久,主要是安裝Anaconda就安裝了我五遍,每一遍竟然錯誤的結果都不一樣,首先想跟大家分享下我安裝ANACONDA會出現的問題以及解決方法。(由於沒有隨手截圖的好習慣,所以下面只能文字描述,請大家自行想像,抱歉抱歉)

1.更新所有包的時候更到百分之幾就停了

解決方法:有時候更新到一般,某個包的進度條就卡住了可以卡到第二天的那種(我就是這樣的)我也不知道為什麼,這時候只要(煩躁一點的)隨便敲打一些字母,或者數字進度條突然就會咻咻咻的更新了。雖然不知道為什麼,但是基本卡住的次數中,有一半用這個辦法是行得通的。可能我的電腦就這麼奇葩吧。

2.更新到某個包的時候就不更新了,或者就是更新的好慢

解決方法:可以參照一下鏈接里的方法,基本可以成功。

1、【基礎環境安裝】conda httperror http none none for url none Anaconda更新失敗解決辦法?

www.jianshu.com圖標

3.如何更改jupyter notebook所在的環境

這裡可以參照下面鏈接最後的解決辦法:

猴子:jupyter notebook常見問題解決辦法?

zhuanlan.zhihu.com圖標

但是!!!當我以為事情可以這麼簡單的解決的時候,發現我的jupyter notebook竟然打不開了!我開始以為是安裝的時候出了錯,結果就是重新安裝還是不行。

這裡我用的是修改windows系統里的菜單欄。後來不知道為啥突然腦洞大開,給目標里的路徑加了個單引號,然後因為是window系統,所以我的路徑採用的是雙斜杠的(\)的。然後就可以了!雖然不知道為什麼,但是我的奇葩電腦就是可以。

4.下載了Anaconda之後發現竟然沒有jupyter notebook

終於安好ANACONDA和改好路徑了,正當我踏上學習的步伐,我朋友過來給我重裝了一下電腦的系統。於是,一夜回到解放前,我又得再次重新安裝。結果發現這次安裝完後,只剩prompt了。我想大概我的電腦比較害羞,還沒有做好學習的準備,於是我重新安裝,發現啥都有了,就是沒有jupyter notebook。

???

沒有jupyter,不可怕,畢竟我可以直接在prompt上輸入jupyter notebook就可以打開了,但是找不到.jupyter目錄,我就改不了環境。於是我在網上找到了解決方法,如下:

https://blog.csdn.net/u010100466/article/details/77543346?

blog.csdn.net

同時我也收到了其他解決安裝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入門 |