在開始學習之前,我們做一道題,來作為大家今天的開場白!!
Q:現有信息學號為u20201111的學生,數學成績為85,化學成績為82.46,請按下方格式輸出該信息
u20201111 的數學分數是 85
u20201111 的化學分數是 82.46
A:
uid = 'u20201111'
Math = 85
Chemistry = 82.46
Sum = Math + Chemistry
print("%s 的數學成績是 %d" %(uid,Math))
print("%s 的化學成績是 %.2f" %(uid,Chemistry))
print("%s 的總成績是 %d"%(uid,Sum))
'''
上面的小例題大家看懂了嗎?沒看懂的要親手敲一下哦~
'''
學前引導:
基本操作和格式規范(本文重點)
編碼規范
注釋
打印
格式化輸出
format用法
轉義字符
編碼規范
國際慣例,文件編碼和 Python 編碼格式全部為 utf-8
例如:在 Python 代碼的開頭,要統一加上 # -- coding: utf-8 --。
命名規范
變量和標識符,變量和標識符在命名規則上都遵循以下原則,
- 只能由字母、數字和下划線組成,且不能以數字開頭
- 命名要做到見名知意:一般來說,只要是自定義的名字都可以被稱為標識符,包括變量、函數名、類名、模塊名、包名,所以變量其實只是標識符的一個子類。
變量常見的命名風格有三種:
- 單詞全部純小寫,單詞之間使用下划線隔開,例如:data_science
- 小駝峰式命名,第一個單詞字母全小寫,其他單詞首字母大寫,例如:dataScience
- 大駝峰式命名,每個單詞的首字母均大寫,例如:DataScience
- 以上這些命名規范不僅僅適用於變量,同時也適用於函數、類等;
- 在Python中,方法和變量名一般采用第一種方式,類名采用第三種方式,第二種方式在Java聲明函數時比較常見。
- 切記,標識符的名字不能和Python的關鍵字沖突(可以使用keyword.kwlist查看Python所有的關鍵字)
注釋
Python2-3輸出區別
Python3 使用 print 必須要以小括號包裹打印內容,比如
print('hi')
Python2 既可以使用帶小括號的方式,也可以使用一個空格來分隔打印內容,比如
print 'hi'
現在都是以python3為主
Python中單行注釋以 # 開頭,實例如下:
#我的第一行代碼
print('hello world') #我的第二個注釋
hello world
多行注釋可以用多個 # 號,還有 ''' 和 """:
'''
我真的
可以
注釋
很多行
'''
"""
我也能
注釋
很多行
"""
print('hello world')
hello world
格式化輸出
**拼接符 '+' **
print('變量名:'+變量)
注意:變量必須為字符串類型
拼接符','
print('變量名:',變量)
格式化符號
整數輸出:
%o —— oct 八進制
%d —— dec 十進制
%x —— hex 十六進制
print('%o' % 20) #以八進制輸出20
print('%d' % 20) #以十進制輸出20
print('%x' % 20) #以十六進制輸出20
24
20
14
浮點數輸出
- %f ——保留小數點后面六位有效數字
%.3f,保留3位小數位
- %e ——保留小數點后面六位有效數字,指數形式輸出
%.3e,保留3位小數位,使用科學計數法
- %g ——在保證六位有效數字的前提下,使用小數方式,否則使用科學計數法
%.3g,保留3位有效數字,使用小數或科學計數法
下面做一系列的演示:
print('%f' % 1.11) # 默認保留6位小數
print('%.1f' % 1.11) # 取1位小數
print('%e' % 1.11) # 默認6位小數,用科學計數法
print('%.3e' % 1.11) # 取3位小數,用科學計數法
print('%g' % 1111.1111) # 默認6位有效數字
print('%.7g' % 1111.1111) # 取7位有效數字
print('%.2g' % 1111.1111) # 取2位有效數字,自動轉換為科學計數法
1.110000
1.1
1.110000e+00
1.110e+00
1111.11
1111.111
1.1e+03
format的用法
format的用法很常見,並且實用,大家可以根據案例多進行模仿與演示。
format就是變量之間的映射,它有三種形式
- (1)不帶編號,即“{}”
- (2)帶數字編號,可調換順序,即“{1}”、“{2}”
- (3)帶關鍵字,即“{a}”、“{tom}”
映射案例如下:
print('{} {}'.format('hello','world')) # 不帶字段
print('{0} {1}'.format('hello','world')) # 帶數字編號
print('{0} {1} {0}'.format('hello','world')) # 打亂順序
print('{1} {1} {0}'.format('hello','world'))
print('{a} {tom} {a}'.format(tom='hello',a='world')) # 帶關鍵字
hello world
hello world
hello world hello
world world hello
world hello world
格式化字符串
- f-string,亦稱為格式化字符串常量(formatted string literals),是Python3.6新引入的一種字符串格式化方法。
- f-string在形式上是以 f 或 F 修飾符引領的字符串(f'xxx' 或 F'xxx'),以大括號 {} 標明被替換的字段;
- f-string在本質上並不是字符串常量,而是一個在運行時運算求值的表達式。
先嘗試一下str、int類型的變量
name = "小風"
age = 18
print(f"姓名:{name},年齡:{age}")
姓名:小風,年齡:18
再試一下字典
one_dict = {"name": "小風", "age": 18, "hobby": ["running", "singing"]}
print(f"姓名:{one_dict['name']},愛好:{one_dict['hobby']}")
姓名:小風,愛好:['running', 'singing']
格式規范:
代碼塊快捷鍵:CTRL+ALT+L
轉義字符
轉義字符‘\’可以轉義很多字符
- ‘\n’表示換行
- ’\t‘表示制表符
- 字符’\‘本身也要轉義,所以‘\’表示的字符就是‘\’
下面為‘\’在輸出過程中可能出現的情況;
print('I\'m ok.')
I'm ok.
print('I\'m learning\nPython.')
I'm learning
Python.
print('\\\n\\')
小作業
-
1、學號為u20201111的學生,數學成績為85,化學成績為82.46,按格式輸出:
u20201111 的數學分數是 85
u20201111 的化學分數是 82.46
並且求出該學號學生的總成績,以及平均分
-
2、給定兩個整數A和B,輸出從A到B的所有整數以及這些數的和。
輸入格式:
輸入在一行中給出2個整數A和B,其中−100≤A≤B≤100,以空格分隔。
輸出格式:
首先順序輸出從A到B的所有整數,每5個數字占一行,每個數字占5個字符寬度,向右對齊。最后在一行中按Sum = X的格式輸出全部數字的和X。
-
3、給定學生三門成績
(1)計算該學生的平均成績並打印平均成績保留兩位小數點
(2)計算該學生語文成績占總成績的百分之多少?並打印,百分比也保留兩位小數
Chinese = 92 Math = 98.5 English = 93
-
4、用轉義字符,輸出一張todo list,包含4條內容並用制表符對齊。格式如下:
This is todo list for today: * Meeting at 11:00 * lunch with Mike * buy milk * do yoga
-
5、分別用多種格式輸出,答案不限,輸入參數為like,learning:I like Python, and I'am learning(注意上引號)
進階題:
編輯完成以下名片的顯示:
==================================
姓名: 努力賺錢的小風
QQ:xxxxxxx
手機號:185xxxxxx
公司地址:北京市xxxx
Blog:www.a2data.cn
==================================
#思考,如何格式化輸出?換行?
#進階思路,如果姓名年齡是否可以是變量傳入,或者外部輸入呢?