1. 程式人生 > >Python 初學(一)

Python 初學(一)

最近有點時間搞東西,想了想,搞搞python來耍耍。簡單說一下,python是一種高階語言,初學不難(很多東西都是類似的,比如JAVA),往深的方向目前還沒達到,剛剛開始探索了2天。。。

學習一門語言,首先就是要搭建環境,我這邊直接在官網下載的python windows版,下載完畢直接安裝,記住在安裝的時候,有個path ,這個要勾選一下。

環境搭配好,接下來就是第一個程式了。

OK,大家都是從hello world 開始,那就開始吧,首先 python的語法結構,目前感覺和java類似,但是比java更簡潔,比如:

列印 helloworld ,python : print('hello world')   java: System.out.print("hello world"); 非常簡潔,還有輸入等等幾乎都比java要簡潔。python 還是可以去學的,可以做很多方面,比如也可以自動化測試,運維,後臺開發,大資料啥的等等。

直接寫demo吧,一眼明瞭。

環境搭建好之後,可以在cmd直接python, 然後直接輸 要寫的內容 ,寫完後回車。也可以建個 .py檔案,用python xx.py 的方式去執行編譯。

##############################################by Fan 20180628 初學python#########################################
from _deftest_ import test_cell

L = [
    ['Apple', 'Google', 'Microsoft'],
    ['Java', 'Python', 'Ruby', 'PHP'],
    ['Adam', 'Bart', 'Lisa']
]
print(L[0][0])
print(L[1][1])
print(L[2][2])

age = 17
if age >= 18:
    print('your age is', age)
    print('adult')	
else:	
	print('your age is', age)
	print('small')
	
#age=None
if age:
	print('True')
else:
	print('False')

#input 輸入int
s = input('birth: ')
birth = int(s)
if birth < 2000:
    print('00前')
else:
    print('00後')

#BMI值	體質指數(BMI)=體重(kg)÷身高^2(m)
height = 1.75
weight = 80.5
bmi=(80.5/(1.75*1.75))
if 18.5<bmi<25:
	print('體重過輕')
elif 25<=bmi<28:
	print('體重過重')
elif 28<=bmi<32:
	print('體重肥胖')
elif 32<=bmi:
	print('嚴重肥胖')

#while  100以內所有奇數之和
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)

#以下兩種方式,分別算1-100的和 ============================================

# for迴圈方式   range()函式 生成一個整數序列
sum=0
for x in range(101):
	sum=sum+x
print(sum)
# while迴圈方式 
n=0
m=100
sum=0
while n < m:
	n=n+1
#	if n > 50 :   #加上此判斷條件,為了break 結束迴圈
#		break
	print('111==='+str(n))
#	if n==50:     #continue 跳出當前迴圈,進入下個迴圈
#		continue
	sum=sum+n
#	print('222==='+str(sum))
print('1-100的值為:'+str(sum))



# 知識點

# dict  python內建字典 (類似於java 鍵值對方式進行索引查詢) dict的key必須是不可變物件
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])
d['Michael'] = 55  #替換資料
print(d['Michael'])
print('Thomas' in d)  #判斷Thomas是否在list表中
print('Bob' in d)
print(d.get('Thomas','不存在 Thomas')) #key不存在,可以返回None,或者自己指定的value:
d.pop('Bob')  #刪除某個

#呼叫函式 
max(1,3,8,200)   #取最大值
x = abs(100)
y = abs(-20)
print(x, y)
print('max(1, 2, 3) =', max(1, 2, 3))
print('min(1, 2, 3) =', min(1, 2, 3))
#print('sum([1, 2, 3]) =',str(sum([1, 2, 3])) )
#資料型別轉換 int float str bool 
#整數轉換十六進位制
n1 = 255
n2 = 1000
print(hex(n1))
print(hex(n2))
# 定義函式 (類似於java中的方法)
def my_abs(x):
    if not 
print(my_abs(11))
print(test_cell(30))

age=19
if age >= 18:
    pass   #佔位符 
	
import math

def move(x, y, step, angle=0):
    nx = x + step * math.cos(angle)
    ny = y - step * math.sin(angle)
    return nx, ny
	
print(move(2,3,2,0))

import math
def quadratic(a, b, c):
	tt=a*x

上面的程式碼,可以直接copy,直接執行,看列印,需要注意的是,python對於 這個字型間隔敏感,不像java直接{} 來斷尾,python換行以及間隔 要把握好 ,一般換行,如果是一句話沒說完,那就要每行距離上一行要間隔4個位元組,如果上一句話的語義已經說完,則直接在最前面寫,不用間隔。

基本的資料型別:

整數、浮點、字串、布林、。。。。。。。。。變數、常量 (個人感覺,基本與java一樣)

編碼轉換、list 、條件語句。迴圈語句,上面都有例子,多看看,理解理解,沒什麼難的地方。還有一個知識點,math ()這個有關於數學的一個函式,這個肯定要記住,放在下面

math 函式 部分使用

# 函式	 說明	 例項
#  math.e	 自然常數e	 >>> math.e
# 2.718281828459045
#  math.pi	 圓周率pi	 >>> math.pi
# 3.141592653589793
#  math.degrees(x)	 弧度轉度	 >>> math.degrees(math.pi)
# 180.0
#  math.radians(x)	 度轉弧度	 >>> math.radians(45)
# 0.7853981633974483
#  math.exp(x)	 返回e的x次方	 >>> math.exp(2)
# 7.38905609893065
#  math.expm1(x)	 返回e的x次方減1	 >>> math.expm1(2)
# 6.38905609893065
#  math.log(x[, base])	 返回x的以base為底的對數,base預設為e	 >>> math.log(math.e)
# 1.0
# >>> math.log(2, 10)
# 0.30102999566398114
#  math.log10(x)	 返回x的以10為底的對數	 >>> math.log10(2)
# 0.30102999566398114
#  math.log1p(x)	 返回1+x的自然對數(以e為底)	 >>> math.log1p(math.e-1)
# 1.0
#  math.pow(x, y)	 返回x的y次方	 >>> math.pow(5,3)
# 125.0
#  math.sqrt(x)	 返回x的平方根	 >>> math.sqrt(3)
# 1.7320508075688772
#  math.ceil(x)	 返回不小於x的整數	 >>> math.ceil(5.2)
# 6.0
#  math.floor(x)	 返回不大於x的整數	 >>> math.floor(5.8)
# 5.0
#  math.trunc(x)	 返回x的整數部分	 >>> math.trunc(5.8)
# 5
#  math.modf(x)	 返回x的小數和整數	 >>> math.modf(5.2)
# (0.20000000000000018, 5.0)
#  math.fabs(x)	 返回x的絕對值	 >>> math.fabs(-5)
# 5.0
#  math.fmod(x, y)	 返回x%y(取餘)	 >>> math.fmod(5,2)
# 1.0
#  math.fsum([x, y, ...])	 返回無損精度的和	 >>> 0.1+0.2+0.3
# 0.6000000000000001
# >>> math.fsum([0.1, 0.2, 0.3])
# 0.6
#  math.factorial(x)	 返回x的階乘	 >>> math.factorial(5)
# 120
#  math.isinf(x)	 若x為無窮大,返回True;否則,返回False	 >>> math.isinf(1.0e+308)
# False
# >>> math.isinf(1.0e+309)
# True
#  math.isnan(x)	 若x不是數字,返回True;否則,返回False	 >>> math.isnan(1.2e3)
# False
#  math.hypot(x, y)	 返回以x和y為直角邊的斜邊長	 >>> math.hypot(3,4)
# 5.0
#  math.copysign(x, y)	 若y<0,返回-1乘以x的絕對值;
#  否則,返回x的絕對值	 >>> math.copysign(5.2, -1)
# -5.2
#  math.frexp(x)	 返回m和i,滿足m乘以2的i次方	 >>> math.frexp(3)
# (0.75, 2)
#  math.ldexp(m, i)	 返回m乘以2的i次方	 >>> math.ldexp(0.75, 2)
# 3.0
#  math.sin(x)	 返回x(弧度)的三角正弦值	 >>> math.sin(math.radians(30))
# 0.49999999999999994
#  math.asin(x)	 返回x的反三角正弦值	 >>> math.asin(0.5)
# 0.5235987755982989
#  math.cos(x)	 返回x(弧度)的三角餘弦值	 >>> math.cos(math.radians(45))
# 0.7071067811865476
#  math.acos(x)	 返回x的反三角餘弦值	 >>> math.acos(math.sqrt(2)/2)
# 0.7853981633974483
#  math.tan(x)	 返回x(弧度)的三角正切值	 >>> math.tan(math.radians(60))
# 1.7320508075688767
#  math.atan(x)	 返回x的反三角正切值	 >>> math.atan(1.7320508075688767)
# 1.0471975511965976
#  math.atan2(x, y)	 返回x/y的反三角正切值	 >>> math.atan2(2,1)
# 1.1071487177940904
#  math.sinh(x)	 返回x的雙曲正弦函式
#  math.asinh(x)	 返回x的反雙曲正弦函式
#  math.cosh(x)	 返回x的雙曲餘弦函式
#  math.acosh(x)	 返回x的反雙曲餘弦函式
#  math.tanh(x)	 返回x的雙曲正切函式
#  math.atanh(x)	 返回x的反雙曲正切函式
#  math.erf(x)	 返回x的誤差函式
#  math.erfc(x)	 返回x的餘誤差函式
#  math.gamma(x)	 返回x的伽瑪函式
#  math.lgamma(x)	 返回x的絕對值的自然對數的伽瑪函式

我在網上找的一些關於math的基本用法和demo

,如果,上面的,你基本上搞定了,那就可以先去學一下用工具來寫,畢竟直接用notepad敲這個,個人感覺還行,但是還是沒有專業的來的舒服,大家可以下載一個工具 Pycharm ,30天免費試用,我看介面類似於androidstudio,用起來還湊合。

插一句 :def 類似於java中的方法

就在今天,我突然想用python搞個exe可執行檔案,隨便百度了下,瞎搞出來了

基本上步驟如下:因為要搞個介面,我這裡用了個easygui.py 檔案,這個檔案個人感覺這個類似於android 中的module,你依賴它來做一些事情。這個檔案可以在cmd直接下載安裝,基本要實現這個exe (其他方法還有,我暫時麼有去了解),步驟如下:

# 下載easygui==>pip install easygui   下載easygui外掛

# 下載pyinstaller==>pip install pyinstaller     pyinstaller:生成exe的可執行程式

# 生成exe ==>pyinstaller xx.py   編譯生成

例子如下

import easygui as g
fields = ['*姓名','年齡','學歷']
msg = '填寫下面資訊(*為必填項)'
title = '個人資訊'
def multenterbox(msg, title, fields):
    fieldvalue = g.multenterbox(msg, title,fields)

    while True:
        if fieldvalue == None:
            break
        errmsg = ''
        for item in range(len(fields)):
            option = fields[item].strip()
            if fieldvalue[item].strip() == "" and option[0] == "*":
                errmsg +=('[%s]為必填項。\n\n' % fields[item])
        if errmsg == '':
            break
        fieldvalue = g.multenterbox(errmsg, title,fields, fieldvalue)
    print('個人資訊:%s'  % str(fieldvalue))
multenterbox(msg,title,fields)

上面的import,就是匯入外掛資源 依賴

基本就這樣,第2天學習,繼續研究研究語法結構,具體的一些官方方法,我暫時記不住那麼多,多敲多練,就慢慢掌握了,後面繼續更新學習體會(大家一定要多敲多練習  這樣才能敲出感覺)

20180629 下午  

注:我是根據 廖雪峰官網上python教程來學的,大家有興趣可以去看看,我上面的程式碼,都是理解加模仿加copy,強烈推薦此教程

多看多想多思考,Python 終有一天可以完全掌握

相關推薦

Python 初學

最近有點時間搞東西,想了想,搞搞python來耍耍。簡單說一下,python是一種高階語言,初學不難(很多東西都是類似的,比如JAVA),往深的方向目前還沒達到,剛剛開始探索了2天。。。 學習一門語言,首先就是要搭建環境,我這邊直接在官網下載的python windows版

python資料分析、挖掘初學:numpy的簡單使用

開新篇:資料分析學習筆記。 直接在可執行程式碼的基礎上進行註釋說明,首先學習numpy的基礎語法 #numpy import numpy as np def main(): lst=[[1,3,5],[2,4,6]] print(type(lst))#型

初學Python筆記

很長一段時間都太忙,也提不起興趣學點東西。終於有點空了,正好工作中也需要使用python。 隨便找了個Python入門來看, 據說是給非programer看的一本書,還是多語言的,我看的是英文版,正好學習一下英語。外國人經常提供這種免費的書籍。 由於是筆記,內容很簡單。 -

python入門

html pre uic 程序 添加 -a 控制臺 命令 成了 第一步,我們先來安裝Python,博主選擇的版本是最新的3.4.2版本。windows下面的Python安裝一般是通過軟件安裝包安裝而不是命令行,所以我們首先要在Python的官方主頁上面下載最新的Python

Python學習

ubun 安裝目錄 tle setup extract reat 常用插件 增加 網址 Python學習(一) 一:開發工具安裝   1,pycharm下載:Linux版本   2,破解:在help-register下-service輸入:      http://elpo

Python爬蟲:基本概念

popu 通用 字符 spider dai 自身 部分 螞蟻 people 網絡爬蟲的定義 網絡爬蟲(Web Spider。又被稱為網頁蜘蛛。網絡機器人,又稱為網頁追逐者),是一種依照一定的規則,自己主動的抓取萬維網信息的程序或者腳本。另外一些不常使用

Python基礎

類型 spa 例子 hat except 存在 內容 限制 字符數 Python基礎1 1.Hello World程序 2.變量 3.用戶輸入 4.模塊初識 5.數據類型初識 6.數據運算 7.表達式if ...else語句 8.表達式fo

python爬蟲

返回 沒有 發現 學習內容 部分 訪問 family 司機 獲得 1.首先你需要一些Python的基礎知識和相關的開發環境,沒有相關基礎的同學推薦可以先去網易雲的Mooc觀看學習相關教程 2.什麽是網絡爬蟲?   我們上網會在瀏覽器中輸入連接,然後服務器會返回給我們相關的信

Python練習

pythonPython練習(一):給一個不超過5位的正整數,判斷其有幾位,依次打印出個位、十位、百位、千位、萬位的數字:num = int(input(‘please enter a number: ‘)) lst = [] for i in str(num): lst.append(i)

Charles的基本操作方法與python基礎

inpu 格式 format log text src 基礎 pos -s 開始與結束按鈕: 斷點按鈕: 清空按鈕: 若抓不到包可嘗試更改瀏覽器重新請求 python基礎(一) 計算機語言分為編譯型語言和解釋型語言,編譯型語言需要提前編譯,然後直接拿來運行,但解釋型語

Python練習題

python練習題1. 企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高    於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提    成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於    40

Python 編碼— Python3

mar 令行 sock 早期 ref 亂碼 transform enc 方法 Unicode 什麽是 Unicode 標準 unicode 標準 Unicode 為每個字符提供了一個獨特的數字,並且跨平臺、設備、應用或者編程語言都是通用的。 -- 來自 http://un

第一章 Python基礎

科學計算 廣泛 java 賦值運算 退出 glob 單詞 技術 電視 1.1 編程語言 編程語言總體分以為機器語言、匯編語言、高級語言,如下 機器語言 由於計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,

python入門pycharm的安裝

python python入門 python的來歷:Python 是一種面向對象的解釋型計算機程序設計語言,由荷蘭人Guido van Rossum於1989年發明,第一個公開發行版發行於1991年。Python是純粹的自由軟件, 源代碼和解釋器CPython遵循 GPL協議 。Python語法簡潔清

python筆記

python 學習筆記 字符串處理單雙引號一樣.title():將每個單詞的首字母變為大寫,其余小寫(不管原來是什麽樣).upper():將字符串中所有字母變為大寫.lower():將字符串中所有字母變為小寫.strip():刪除行首和行末的空白(空格和制表符)(直接輸入變量返回值才能看到,否則看不到

python 漫談相見恨晚的庫

在那 分享圖片 文本處理 執行時間 結果 性能 既然 panda Coding (一)pypy和Cpython解釋器在性能上的比較 Cpython解釋器是從官網下載python自帶的解釋器,就是我們平常使用的解釋器。pypy解釋器的出現是為了在一定程度上提升python代碼

Python入門 異常處理

必須 IV PE runt .... fin 是否 位置 邏輯 異常處理 捕捉異常可以使用try/except語句。 try/except語句用來檢測try語句塊中的錯誤,從而讓except語句捕獲異常信息並處理。 以下是語法: 1 try: 2 <語句>

python 爬蟲 requests+BeautifulSoup 爬取簡單網頁代碼示例

utf-8 bs4 rom 文章 都是 Coding man header 文本 以前搞偷偷摸摸的事,不對,是搞爬蟲都是用urllib,不過真的是很麻煩,下面就使用requests + BeautifulSoup 爬爬簡單的網頁。 詳細介紹都在代碼中註釋了,大家可以參閱。

Python基礎簡介&入門&條件&循環

優點 words ctr 查看 pytho type 運行速度 賦值 人工智 一、機器語言(解釋型語言和編譯型語言)介紹   1、編譯型語言:編譯型語言即把寫好的編程編譯成機器語言再執行,在運行之前一次性編譯,比如C、C++。           優點:運行速度快,缺點

python作業

所有 輸入密碼 用戶名 循環 class 錯誤 print inpu 三次 1、使用while循環輸入 1 2 3 4 5 6 8 9 10 a = 1 while a < 11: if a != 7: print(a) a += 1 2、求