摘要:常量中,通常用大寫的變量名表示常量。含有中文的無法用編碼,因為中文編碼的范圍超過了編碼的范圍,會報錯。個中文字符經過編碼后通常會占用個字節(jié),而個英文字符只占用個字節(jié)。
寫在前面的話
不知不覺畢業(yè)已經三年多了,現(xiàn)在的工作中,極少涉及代碼的工作。主要接觸的項目是BI的建設,做的更多的類似產品經理的工作,或者比較初級的數(shù)據(jù)分析的工作。
因為沒有美工和測試小伙伴,所以還額外承包了這兩項工作的我,偶爾也能接觸到代碼,比如echarts的使用,比如sql語句的編寫。除此之外,有時候還有視頻制作和文案撰寫的工作。整體來說,整個工作生涯算是比較“充實”,什么都嘗試過,所以在即將四周年的時候,我想,我該做點改變,再不瘋狂我就老了。
考慮過文案策劃及后期制作的工作,但是考慮到三年累計的工作經驗,且屈服于現(xiàn)實的狀況,我還是選擇繼續(xù)數(shù)據(jù)分析的工作,或許這個轉折也挺生硬的,而且我其實更喜歡做后期制作的工作(例如明星大偵探里有毒的后期),但是當我做下了這個決定,我就準備努力沖啦!
我不害怕可能會有復雜的困難,我只害怕自己不曾努力,然后在老了之后才追悔莫及。
畢竟,我已經丟了三年。
所以,無論如何,加油吧!
所以下面是認真開始學習的正文
數(shù)據(jù)分析,我決定從python入手,主要的學習途徑是廖雪峰的官方網(wǎng)站。
python的簡介和安裝
這一步可以跳過,因為之前就已經嘗試安裝過。
第一個python程序
無論如何,hello world!
print("hello world!")
python交互模式和命令行模式的不同
執(zhí)行.py文件只能在命令行模式下執(zhí)行。
在windows下不能直接運行.py文件,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一個特殊的注釋:
#!/usr/bin/env python3 print("hello, world")
然后,通過命令給hello.py以執(zhí)行權限:
$ chmod a+x hello.py
就可以直接運行hello.py了。(然鵝,現(xiàn)在并沒有Mac,攤手)
輸入和輸出
print()函數(shù)可以接受多個字符串,用逗號“,”隔開,就可以連成一串輸出,遇到逗號“,”會輸出一個空格。
input()函數(shù)用于輸入,在輸入的同時,在變量中存儲了輸入的參數(shù)。
input()可以顯示字符串來提醒用戶。
Python基礎
python的注釋是用#,使用縮進方式的語法,當以:結尾時,視為代碼塊。
按照約定俗成的管理,應該始終堅持使用4個空格的縮進。
請務必注意,Python程序是大小寫敏感的,如果寫錯了大小寫,程序會報錯。
數(shù)據(jù)類型
整數(shù)、浮點數(shù)、字符串。
如果字符串里面有很多字符都需要轉義,就需要加很多,為了簡化,Python還允許用r""表示""內部的字符串默認不轉義
如果字符串內部有很多換行,用n寫在一行里不好閱讀,為了簡化,Python允許用"""..."""的格式表示多行內容,注意在輸入多行內容時,提示符由>>>變?yōu)?..,提示你可以接著上一行輸入,注意...是提示符,不是代碼的一部分。
布爾值 使用and or not 計算。
空值 None 但不等同與0,因為0是有意義的。
變量 可以是任意數(shù)據(jù)類型,也可以重復賦值。
| 動態(tài)語言和靜態(tài)語言的區(qū)別。靜態(tài)語言在定義變量時候必須指定變量類型(eg:Java)。
| 理解變量在內存中的表示。
常量 Python中,通常用大寫的變量名表示常量。
| 除法 地板除 求余數(shù)
10 / 3 無論除數(shù)與被除數(shù)是否為整數(shù),結果都為浮點數(shù) 10 // 3 只取結果的整數(shù)部分 10 % 3 得出余數(shù)
字符串與編碼
對于單個字符的編碼,Python提供了ord()函數(shù)獲取字符的整數(shù)表示,chr()函數(shù)把編碼轉換為對應的字符。
由于Python的字符串類型是str,在內存中以Unicode表示,一個字符對應若干個字節(jié)。如果要在網(wǎng)絡上傳輸,或者保存到磁盤上,就需要把str變?yōu)橐宰止?jié)為單位的bytes。
ython對bytes類型的數(shù)據(jù)用帶b前綴的單引號或雙引號表示
x = b"ABC" y = "ABC"
x與y是不同的,x是字節(jié)型的,y是str,x的每個字符只占用一個字節(jié)
純英文的str可以用ASCII編碼為bytes,內容是一樣的,含有中文的str可以用UTF-8編碼為bytes。含有中文的str無法用ASCII編碼,因為中文編碼的范圍超過了ASCII編碼的范圍,Python會報錯。
在bytes中,無法顯示為ASCII字符的字節(jié),用x##顯示。
反過來,如果我們從網(wǎng)絡或磁盤上讀取了字節(jié)流,那么讀到的數(shù)據(jù)就是bytes。要把bytes變?yōu)閟tr,就需要用decode()方法。
如果bytes中包含無法解碼的字節(jié),decode()方法會報錯。
如果bytes中只有一小部分無效的字節(jié),可以傳入errors="ignore"忽略錯誤的字節(jié)。
len()函數(shù)計算的是str的字符數(shù),如果換成bytes,len()函數(shù)就計算字節(jié)數(shù)。
1個中文字符經過UTF-8編碼后通常會占用3個字節(jié),而1個英文字符只占用1個字節(jié)。
為了保證源文件以utf-8讀出,需要在開頭注釋:
#!/usr/bin/env python3 ---告訴Linux/OS X系統(tǒng),這是一個Python可執(zhí)行程序,Windows系統(tǒng)會忽略這個注釋; # -*- coding: utf-8 -*- ---告訴Python解釋器,按照UTF-8編碼讀取源代碼,否則,你在源代碼中寫的中文輸出可能會有亂碼。
如果要保證源文件是utf-8編碼,需要在編輯器中進行設定。
格式化
%和format()
使用list和tuple
| list為有序集合。是使用方括號的朋友
| 用len()可以獲取元素個數(shù)。索引從0開始,最后一個元素的索引為len(list)-1。獲取最后一個元素,還可以用-1作為索引,直接獲得最后一個元素。
| list為可變的有序表,可以append()追加元素到末尾;可以insert()到指定位置;可以pop()刪除最末尾元素,參數(shù)可以為i,即索引位置;可以直接賦值給對應的索引位置list[i] = value;內里的元素類型也可以各自不同,或者為另一個list。當list里面啥都沒有的時候,len(list)輸出為0。
| tuple->元祖,一旦初始化就不能修改。因為不可變,所以更安全。是使用圓括號的朋友
定義一個只有1個元素的tuple,要使用(1,),加上逗號,不產生歧義,否則可能會誤認為數(shù)學計算。
t = (1,)
理解“可變的tuple”
>>> t = ("a", "b", ["A", "B"]) >>> t[2][0] = "X" >>> t[2][1] = "Y" >>> t ("a", "b", ["X", "Y"])
其實變化的是tuple里的list的指向,所以并不是tuple本身發(fā)生了變化。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/42823.html
摘要:目標很簡單,因為我想要爬一下證券化率,然后可視化輸出結果。證券化率的基礎就是上市公司的總市值,對于證券化率其實還蠻多說法的,比如雪球的這篇文。我們可以利用這個回調函數(shù)來顯示當前的下載進度。 寫在前面的叨叨 折騰了這么久,我終于在喝完一聽快樂肥宅水后下定決心來學習寫爬蟲了。目標很簡單,因為我想要爬一下證券化率,然后可視化輸出結果。證券化率的基礎就是上市公司的總市值,對于證券化率其實還蠻多...
摘要:而程序員和醫(yī)生律師的不同點在于持續(xù)學習上。兩個小問題是需要收費,一年大概刀圖書都是英文的。的視頻基本都有英文字幕,配合作者的,英語不好的同學學習也沒有問題。英文好的有技術功底的同學多發(fā)表一些觀點,其他的同學都 摘要: 行業(yè)發(fā)展得太快,你必須學習,純靠經驗積累行不通,技術淘汰的速度遠大于你經驗積累的速度。 非雞湯:不要和程序員談自己的編程歷史,很多的經驗在今天已經不適用了。只要2-3年...
摘要:前言設計模式填坑系列,緊接前文距離上次寫筆記又過去了一個多月,我也不知道怎么加班加著加著就一個月了正文定義工廠模式是指提供一個創(chuàng)建對象的接口而不保留具體的創(chuàng)建邏輯,可以根據(jù)輸入類型創(chuàng)建對象。 前言 設計模式填坑系列,緊接前文(距離上次寫筆記又過去了一個多月,我也不知道怎么加班加著加著就一個月了-_-!) 正文 定義 工廠模式是指提供一個創(chuàng)建對象的接口而不保留具體的創(chuàng)建邏輯,可以根據(jù)輸入...
閱讀 1314·2021-11-15 11:37
閱讀 3503·2021-11-11 16:55
閱讀 1756·2021-08-25 09:39
閱讀 3220·2019-08-30 15:44
閱讀 1735·2019-08-29 12:52
閱讀 1408·2019-08-29 11:10
閱讀 3244·2019-08-26 11:32
閱讀 3226·2019-08-26 10:16