【Python】Java程序員學習Python(三)— 基礎入門


  一閃一閃亮晶晶,滿天都是小星星,掛在天上放光明,好像許多小眼睛。不要問我為什么喜歡這首歌,我不會告訴你是因為有人用口琴吹給我聽。

 

一、Python學習文檔與資料

  一般來說文檔的資料總是最權威,最全面的,可是很少有人能認真的從頭到尾把文檔或者幫助手冊看一遍,畢竟太枯燥了,就像java api 文檔一樣,正確的用法當然是把它當做一個工具書,想到用什么,就去查,當然最好還是能大概看一遍,這樣心中有個印象找東西也方便。

  最權威的當然是官方文檔,地址在:https://docs.python.org/3/。推薦閱讀英文的,但是如果真的想看中文的也是有地方的:http://python.usyiyi.cn/translate/python_352/index.html。如果想看書,那就推薦一本我覺得比較適合的書:《Python編程快速上手》,這本書真的很不錯。

  當然按照我博客的順序閱讀也是可以的,這也算是我學習過程。

二、Python基礎知識

  雖然學習東西應該一步一步來,但是很多知識到深了都會相互關聯的,所以先從表象簡單介紹下所有的知識點,然后依次深入,本篇只是概括。

2.1 全局函數(內置函數)

  我喜歡叫它全局函數,因為可以在任何地方調用,從這個角度來看,Python和JavaScript還是有些相似的,都有一些全局的函數。Python也有很多直接使用方法,例如可以直接寫print(1)來在控制台打印一個1。

2.2 基本數據類型

  Python不像Java是強類型語言那樣要在使用的時候就要確定變量類型,這點依然和js比較相似,Python數據類型分為,整型、浮點型、字符串、布爾型、對象。

2.2.1 整型

  Python的整型和Java一樣也有一樣的運算。

1232,0,-10,0x22

  像上面那樣的都是整數,十六進制也是以0x開頭。

2.2.2 浮點型

  浮點型和js語言相似。

3.17,-12.9,2.3e10,6.2e-8

  浮點型都是帶小數的也支持科學計數法。

2.2.3 字符串

  字符串也和js相似,可以用單引號或者雙引號或者三引號(三個單引號或三個多引號)引起來。當然字符串本質上也是字符的不可變數組。

'hello',"yiwangzhibujian"

  看個人習慣,單雙引號都可以使用。

2.2.4 布爾型

  Python的布爾型寫法比較特殊,為True和False,首字母分別要大寫,這一點感覺很奇怪,然后布爾型的與或非運算符則為,and、or、not

2.2.5 None值

  這是一個不代表任何值的值

2.3 變量

  不需要提前定義,也不需要指定類型。就是這么方便。當然變量名也是有要求的:

  • 只能是一個詞
  • 只能包含字母數字和下划線
  • 不能以數字開頭
name='yiwangzhibujian'
print('hello',name)
========控制台輸出========
hello yiwangzhibujian

  不用定義比js用起來還爽。

2.3 類和對象

  Python中也是有類和對象的,熟悉Java的都了解,學習Java的大部分時間都是在學習類的使用方法。

2.3.1 list

  列表就是java中的List,但是表示形式有點不一樣,用中括號引起來的一系列元素:

[1,2,3,4,5]
['yiwangzhibujian','laizhezhikezhui',35]

  基本方法也都和Java相似,后續會詳細講解。

2.3.2 tuple

  不可變的list,使用一對小括號:

('hello','yiwangzhibujian')

  操作和list一樣,除了不能對其進行修改。 

2.3.3 range

  range是一個特殊的對象,簡單來說就是一個數字序列,一般用來遍歷,例如range(0,10)即代表0,1,2,3,4,5,6,7,8,9的序列,使用起來很方便。

2.3.4 set

  不可重復的集合和Java的Set一個性質。除了使用構造方法以外,也可以使用大括號來表現:

{'hello','yiwangzhibujian'}

  還有一種不可變的set叫做frozenset,就像list和tuple的關系一樣,不再單獨介紹。

2.3.5 dict

  字典表就是Java中的Map,是鍵值對的集合,表現形式和json很像,都是大括號括起來的鍵值對:

{'name':'yiwangzhibujian','num':'3''sex':'no'}

  使用方法依然和Map相似,后續會進行詳細介紹。

2.3.6 其他對象

  像IO、時間等對象會在后續進行學習,亦可以自己參考文檔學習里面的基本用法。

2.4 控制流

  說到控制流就要了解Python的一大特點,Python的作用域不是以兩個大括號引起來,而是使用統一的縮進來表示,在要縮進的地方加上冒號表示一下,雖然覺得不適應,但是習慣就好。例如:

if True:
    print('true')
else:
    print('false')

  基本用法和Java一樣,注意格式即可。

2.4.1 分支

  分支是最常見的控制流,通過boolean型的表達式來判斷程序的走向。

2.4.2 循環

  熟悉while和for即可,同樣支持continue和break,while和for的示例

2.5 函數或方法

  使用def來定義,就像js使用function來定義一樣,基本示例如下:

def my_add(x,y):
    return x+y

  這個是很重要的知識點,后面也會進行詳解。

2.6 作用域

  作用域簡單的分為全局作用域和局部作用域,基本使用規則和Java一樣。

2.7 異常處理

  Python也是有異常處理的,使用try和exception來實現。一個下面給出一個簡單的示例,如果不進行異常捕獲,異常會被拋出程序會停止運行:

print(1/0)
print(1/1)
=======控制台輸出======= Traceback (most recent call last): File "D:\workspace\eclipse_neon\python-hello\src\test.py", line 7, in <module> 1/0 ZeroDivisionError: division by zero

  如果進行捕獲:

try:
    print(1/0)
except ZeroDivisionError:
    print('除數不能為0')
print(1/1)
=========控制台輸出=========
除數不能為0
1.0

  使用的方法和Java一樣,該捕獲的就捕獲,不該捕獲的就拋出。

2.8 注釋和縮進

  所有以#開頭的都會被當做注釋,多行注釋可以利用三引號來實現:

#這是一個注釋
"""
這是多行注釋
這是多行注釋
"""

  寫程序多用注釋,不然一段時間后會忘記當初寫這個是干嘛用的。

2.9 模塊

  為了方便組織不同功能的代碼,都是用模塊來組織,引用的地方也使用import來引入,例如:

import sys

 

  簡單介紹了下,基礎知識只是為了了解這個語言的大概情況,以后會有詳細說明的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM