python開發----語言元素

指令和程序

計算機的硬件系統通常由五大部件構成,包括:運算器、控制器、存儲器、輸入設備和輸出設備。其中,運算器和控制器放在一起就是我們通常所說的中央處理器,它的功能是執行各種運算和控制指令以及處理計算機軟件中的數據。我們通常所說的程序實際上就是指令的集合,我們寫程序就是將一系列的指令按照某種方式組織到一起,然後通過這些指令去控制計算機做我們想讓它做的事情。今天我們使用的計算機雖然器件做工越來越精密,處理能力越來越強大,但究其本質來說仍然屬於“馮·諾依曼結構”的計算機。“馮·諾依曼結構”有兩個關鍵點,一是提出了將存儲設備與中央處理器分開,二是提出了將數據以二進制方式編碼。二進制是一種“逢二進一”的計數法,跟我們人類使用的“逢十進一”的計數法沒有實質性的區別,人類因爲有十根手指所以使用了十進制(因爲在數數時十根手指用完之後就只能進位了,當然凡事都有例外,瑪雅人可能是因爲長年光着腳的原因把腳趾頭也算上了,於是他們使用了二十進制的計數法,在這種計數法的指導下瑪雅人的歷法就與我們的不太一致,而按照瑪雅人的歷法,2012年是上一個所謂的“太陽紀”的最後一年,而2013年則是新的“太陽紀”的開始,後來這件事情被以訛傳訛的方式誤傳爲2012年就是瑪雅人預言的世界末日這種荒誕的說法,今天我們可以大膽的猜測,瑪雅文明之所以發展緩慢估計也與使用了二十進制有關),對於計算機來說,二進制在物理器件上來說是最容易實現的(高電壓表示1,低電壓表示0),於是在“馮·諾依曼結構”的計算機都使用了二進制。雖然我們並不需要每個程序員都能夠使用二進制的思維方式來工作,但是瞭解二進制以及它與我們生活中的十進制之間的轉換關係,以及二進制與八進制和十六進制的轉換關係還是有必要的。

變量和類型

在程序設計中,變量是一種存儲數據的載體。計算機中的變量是實際存在的數據或者說是存儲器中存儲數據的一塊內存空間,變量的值可以被讀取和修改,這是所有計算和控制的基礎。計算機能處理的數據有很多中類型,除了數值之外還可以處理文本、圖形、音頻、視頻等各種各樣的數據,那麼不同的數據就需要定義不同的存儲類型。Python中的數據類型很多,而且也允許我們自定義新的數據類型(這一點在後面會講到),我們先介紹幾種常用的數據類型。

  • 整型:Python中可以處理任意大小的整數(Python 2.x中有int和long兩種類型的整數,但這種區分對Python來說意義不大,因此在Python 3.x中整數只有int這一種了),而且支持二進制(如0b100,換算成十進制是4)、八進制(如0o100,換算成十進制是64)、十進制(100)和十六進制(0x100,換算成十進制是256)的表示法。
  • 浮點型:浮點數也就是小數,之所以稱爲浮點數,是因爲按照科學記數法表示時,一個浮點數的小數點位置是可變的,浮點數除了數學寫法(如123.456)之外還支持科學計數法(如1.23456e2)。
    字符串型:字符串是以單引號或雙引號括起來的任意文本,比如’hello’和"hello",字符串還有原始字符串表示法、字節字符串表示法、Unicode字符串表示法,而且可以書寫成多行的形式(用三個單引號或三個雙引號開頭,三個單引號或三個雙引號結尾)。
  • 布爾型:布爾值只有True、False兩種值,要麼是True,要麼是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來(例如3 < 5會產生布爾值True,而2 == 1會產生布爾值False)。
  • 複數型:形如3+5j,跟數學上的複數表示一樣,唯一不同的是虛部的i換成了j。

變量命名

這個前幾天沒有想系統學習的時候已經接觸過了,寫了一篇有關的博客,在這裏也就不贅述了,簡單的介紹一下。
對於每個變量我們需要給它取一個名字,就如同我們每個人都有屬於自己的響亮的名字一樣。在Python中,變量命名需要遵循以下這些必須遵守硬性規則和強烈建議遵守的非硬性規則。
硬性規則

  • 變量名由字母(廣義的Unicode字符,不包括特殊字符)、數字和下劃線構成,數字不能開頭。
  • 大小寫敏感(大寫的a和小寫的A是兩個不同的變量)。
  • 不要跟關鍵字(有特殊含義的單詞,後面會講到)和系統保留字(如函數、模塊等的名字)衝突。

PEP 8要求

  • 用小寫字母拼寫,多個單詞用下劃線連接。
  • 受保護的實例屬性用單個下劃線開頭(後面會講到)。
  • 私有的實例屬性用兩個下劃線開頭(後面會講到)。

當然,作爲一個專業的程序員,給變量(事實上應該是所有的標識符)命名做到見名知意也是非常重要的。

變量的使用

簡單的使用就不說了,就說說這個語言比較特殊的地方吧。

在對變量類型進行轉換時可以使用Python的內置函數(準確的說下面列出的並不是真正意義上的函數,而是後面我們要講到的創建對象的構造方法)。

  • int():將一個數值或字符串轉換成整數,可以指定進制。
  • float():將一個字符串轉換成浮點數。
  • str():將指定的對象轉換成字符串形式,可以指定編碼。
  • chr():將整數轉換成該編碼對應的字符串(一個字符)。
  • ord():將字符串(一個字符)轉換成對應的編碼(整數)。

運算符

這是優先級從高到低的順序
在這裏插入圖片描述
當你實在不知道優先級順序的時候,你可以使用括號來確保程序的正確執行
以下是三個小例子,我們來回顧一下本次博客的內容,並且熟悉一下python。

1.溫度轉換

"""
將華氏溫度轉換爲攝氏溫度
F = 1.8C + 32
"""

f = float(input('請輸入華氏溫度: '))
c = (f - 32) / 1.8
print('%.1f華氏度 = %.1f攝氏度' % (f, c))	

2.求圓的周長和麪積

"""
輸入半徑計算圓的周長和麪積
"""

import math

radius = float(input('請輸入圓的半徑: '))
perimeter = 2 * math.pi * radius
area = math.pi * radius * radius
print('周長: %.2f' % perimeter)
print('面積: %.2f' % area)

3.判斷是不是閏年

"""
輸入年份 如果是閏年輸出True 否則輸出False
"""

year = int(input('請輸入年份: '))
# 如果代碼太長寫成一行不便於閱讀 可以使用\或()折行
is_leap = (year % 4 == 0 and year % 100 != 0 or
           year % 400 == 0)
print(is_leap)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章