Python100天從入門到大師-Day01-語言元素

語言元素

變量和類型

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

  • 整型: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字符串表示法,並且能夠書寫成多行的形式(用三個單引號或三個雙引號開頭,三個單引號或三個雙引號結尾)。
  • 布爾型:布爾值只有TrueFalse兩種值,要麼是True,要麼是False,在Python中,能夠直接用TrueFalse表示布爾值(請注意大小寫),也能夠經過布爾運算計算出來(例如3 < 5會產生布爾值True,而2 == 1會產生布爾值False)。
  • 複數型:形如3+5j,跟數學上的複數表示同樣,惟一不一樣的是虛部的i換成了j

變量命名

對於每一個變量咱們須要給它取一個名字,就如同咱們每一個人都有屬於本身的響亮的名字同樣。在Python中,變量命名須要遵循如下這些必須遵照硬性規則和強烈建議遵照的非硬性規則。程序員

  • 硬性規則:github

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

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

固然,做爲一個專業的程序員,給變量(事實上應該是全部的標識符)命名時作到見名知意也是很是重要的。學習

變量的使用

下面經過幾個例子來講明變量的類型和變量使用。編碼

"""
使用變量保存數據並進行算術運算
"""

a = 321
b = 123
print(a + b)
print(a - b)
print(a * b)
print(a / b) 
print(a // b) # 輸出2  整除
print(a % b)  # 取模
print(a ** b) # 指數
"""
使用input()函數獲取鍵盤輸入
使用int()進行類型轉換
用佔位符格式化輸出的字符串
"""

a = int(input('a = '))  # input輸入會轉換字符串,int()強制轉換爲整形
b = int(input('b = '))
print('%d + %d = %d' % (a, b, a + b))  # 百分號操做符是字符串格式化的符號 '%d' 表示有符號的十進制整數
print('%d - %d = %d' % (a, b, a - b))
print('%d * %d = %d' % (a, b, a * b))
print('%d / %d = %f' % (a, b, a / b))
print('%d // %d = %d' % (a, b, a // b))
print('%d %% %d = %d' % (a, b, a % b))
print('%d ** %d = %d' % (a, b, a ** b))

常見的格式化符號
格式符號 轉換
%s 經過str()字符串轉換來格式化
%u 無符號的十進制整數
%d 有符號的十進制整數
%o 八進制整數
%x 十六進制整數,小寫字母
%X 十六進制整數,大寫字母
%e 浮點數字(科學計數法)
%E 浮點數字(科學計數法,用E代替e)
%f 浮點實數
%g 浮點數字(根據值的大小採用%e或%f)
%G 浮點數字(相似於%g)設計

"""
使用type()檢查變量的類型
"""

a = 100
b = 12.345
c = 1 + 5j
d = 'hello, world'
e = True
print(type(a)) # int
print(type(b)) # float
print(type(c)) # complex 數學裏面的複數
print(type(d)) # str
print(type(e)) # bool
# 複數的使用

a=4.7+0.666j           #定義一個複數
print(a)               #輸出這個複數
print(a.real)          #輸出實部
print(a.imag)          #輸出虛部
print(a.conjugate())   #輸出該複數的共軛複數

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

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

運算符

Python支持多種運算符,下表大體按照優先級從高到低的順序列出了全部的運算符,咱們會陸續使用到它們。視頻

運算符 描述
[] [:] 下標,切片
** 指數
~ + - 按位取反, 正負號
* / % // 乘,除,模,整除
+ - 加,減
>> << 右移,左移
& 按位與
^ `\ ` 按位異或,按位或
<= < > >= 小於等於,小於,大於,大於等於
== != 等於,不等於
is is not 身份運算符
in not in 成員運算符
not or and 邏輯運算符
= += -= *= /= %= //= **= &= ` = ^= >>= <<=` (複合)賦值運算符
說明: 在實際開發中,若是搞不清楚運算符的優先級,可使用括號來確保運算的執行順序。

下面的例子演示了運算符的使用。對象

"""
運算符的使用
"""

a = 5
b = 10
c = 3
d = 4
e = 5
a += b
a -= c
a *= d
a /= e
print("a = ", a)

flag1 = 3 > 2
flag2 = 2 < 1
flag3 = flag1 and flag2
flag4 = flag1 or flag2
flag5 = not flag1
print("flag1 = ", flag1) # True
print("flag2 = ", flag2) # False
print("flag3 = ", flag3) # False
print("flag4 = ", flag4) # True
print("flag5 = ", flag5) # False
print(flag1 is True) # True
print(flag2 is not False) # False

練習

練習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)

本文基於github開源項目
https://github.com/jackfrued/...本人以此項目入門Python,此係列博文謹以記錄學習歷程及分享給須要的朋友

相關文章
相關標籤/搜索