1.變量
1.1變量作用
變量是用於存儲數據
1.2變量定義規範
聲明變量
name = "vita"
pep8規範:等號兩邊要有空格
變量定義規則
- 變量名只能是字母、數字、下劃線的任意組合
- 變量名的第一個字符不能是數字
- 程序關鍵字不能是數字,例如if else while等
變量命名習慣
駝峯體
AgeOfVita = 27
下劃線
age_of_vita = 27
變量定義的low方式
變量名爲中文、拼音 名字 = "vita"
變量名過長 qeqweqwe_qweqweqw_qwewqeq
變量名詞不達意 a = 23
1.3常量
常量定義
常量即指不變的量,如pai 3.1415926 ,或在程序運行過程中不會改變的量。
Python中沒有專門的語法定義常量,程序員約定用變量名全部大寫代表常量。
python中可自定義一個不修改的常量的類。
AGE_OF_VITA = 27
Java中定義常量,修改該常量會報錯
public static final String SUNDAY = "SUNDAY";
c語言中定義常量,修改該常量也會報錯
const int count = 60;
變量與常量用法示例
在使用中變量和常量沒什麼區別
Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> a = 1
>>> b = a
>>> print(a)
1
>>> print(b)
1
>>> a=2
>>> print(a)
2
>>> print(b)
1
>>>
>>>
>>> A = 10
>>> B=A
>>> print(A)
10
>>> print(B)
10
>>> A=20
>>> print(A)
20
>>> print(B)
10
>>>
2.讀取用戶輸入
name = input("please input your name:")
age = input("please input your age:")
hometown = input("please input your hometown:")
print("your name is:"+name
+ " your age is:"+age
+ " your hometown is:"+hometown)
運行
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
please input your name:vita
please input your age:27
please input your hometown:jl
your name is:vita your age is:27 your hometown is:jl
3.註釋
本行註釋
age = input("please input your age:") # age pep8規範:#號前面至少兩個空格,後面一個空格
單行註釋
hometown = input("please input your hometown:")
# print age pep8規範:#號前面無空格,後面一個空格
多行註釋
"""
print age
name hometown
"""
'''
print age
name hometown
pep8規範:註釋與下面的代碼的空行不能多於兩行
'''
print("your name is:"+name
+ " your age is:"+age
+ " your hometown is:"+hometown)
4.數據類型
4.1數字類型
4.1.1介紹
int(整型)
在32位機器上,整數的位數爲32位,取值範圍爲-2**31~2**31 -1,即-2147483648~214748364
在64位系統上,整數的位數爲64位,取值範圍爲-2**63~2**63-1,即-9223372036854775808~9223372036854775807
long(長整型)
跟C語言不同,Python的長整型沒有指定寬度,即python沒有限制長整數數值的大小,但實際上由於內存的限制,我們使用的長整數數值不可能無限大。
注意:
自從Python2.2起,如果整數發生溢出,Python會自動把int轉換爲long,所以現在在long數據後面不加字母L也不會導致嚴重後果了。
在Python3中沒有int和long的區分了,全部都是int
除了int和long外,還有float浮點型,複數型
4.1.2Python2&3之int long
(venvP3) E:\PythonProject\python-test>python2
Python 2.7.16 (v2.7.16:413a49145e, Mar 4 2019, 01:37:19) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(2**4)
<type 'int'>
>>> type(2**65)
<type 'long'>
>>> quit()
(venvP3) E:\PythonProject\python-test>python3
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:57:36) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> type(2**4)
<class 'int'>
>>> type(2**65)
<class 'int'>
>>>
4.2字符串
在Python中,加了引號的字符就被認爲是字符串
4.2.1字符串種類
Name = "vita" # 雙引號
Age = "27" # age是字符串
AgeNum = 27 # age是int
Msg = 'My name is vita,i am 27 years old!' # 一對單引號
# 一對三個單引號
MsgThree = '''
My name is vita,
i am 27 years old!
'''
# 三個雙引號
MsgDouThree = """
My name is vita,
i am 27 years old!
"""
4.2.2單引號,雙引號,多引號的區別
單引號和雙引號沒有任何區別,只是在下面情況下需要考慮單雙引號配合
Msg = "my name is vita,I'm 27 years old"
多引號的作用是多行字符串,需要使用多引號
# 一對三個單引號
MsgThree = '''
My name is vita,
i am 27 years old!
'''
# 三個雙引號
MsgDouThree = """
My name is vita,
i am 27 years old!
"""
4.2.3字符串拼接
字符串可以進行“相加”和“相乘”運算
>>> name = "vita"
>>> age = "27"
>>> print("your name is:"+name+" your age is:"+age)
your name is:vita your age is:27
>>> print("v"*3)
vvv
字符串不能喝整數拼接
>>> name = "vita"
>>> age = 27
>>> print(name+age)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: must be str, not int
4.3布爾型
布爾型就兩個值,true和false,主要用於邏輯判斷
>>> a =3
>>> b = 5
>>> a>b
False
>>> a<b
True
4.4格式化輸出
name = input("input your name:")
age = input("input your age:")
hometown = input("input your hometown:")
msg = '''
------the info of %s is ------
name: %s
age: %s
hometown: %s
------the info of end ------
''' % (name, name, age, hometown)
print(msg)
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
input your name:vita
input your age:27
input your hometown:jl
------the info of vita is ------
name: vita
age: 27
hometown: jl
------the info of end ------
4.5運算符
運算符種類算數運算符、比較運算符、邏輯運算符、賦值運算符
>>> a = 3
>>> b = 4
>>> a>b and a==3
False
>>> a<b and a==3
True
>>> a<b or a!=3
True
>>> a>b or a==3
True
>>> not a==3
False
>>>
4.6流程控制
4.6.1單分支
if 條件成立:
執行代碼
# _*_coding:utf-8_*_
"""
輸入姓名,性別和年齡,
如果是女生且年齡小於28,輸出我喜歡年輕女孩
"""
name = input("input your name:")
sex = input("input your sex(boy|BOY/girl|GIRL):")
#input()讀入的age是字符串,要轉換爲int才能與28做大小比較
age = int(input("input your age:"))
if sex.lower() == "girl" and age < 28:
print(name+" i like young girl")
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.py
input your name:vita
input your sex(boy|BOY/girl|GIRL):GIRL
input your age:26
vita i like young girl
4.6.2雙分支
if 條件:
條件滿足,執行代碼
else:
條件不滿足,執行代碼
# _*_coding:utf-8_*_
"""
輸入姓名,性別和年齡,
如果是女生
年齡小於28,輸出我喜歡年輕女孩,
年齡不小於28,輸出年齡比我大也可以
如果不是女生
輸出我不喜歡男生
"""
name = input("input your name:")
sex = input("input your sex(boy|BOY/girl|GIRL):")
#input()讀入的age是字符串,要轉換爲int才能與28做大小比較
age = int(input("input your age:"))
if sex.lower() == "girl" :
if age < 28:
print(name+" i like young girl")
else:
print("the age is greater than me is also ok!")
else:
print("i do not like boy")
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.py
input your name:vita
input your sex(boy|BOY/girl|GIRL):girl
input your age:12
vita i like young girl
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.py
input your name:vita
input your sex(boy|BOY/girl|GIRL):girl
input your age:28
the age is greater than me is also ok!
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.py
input your name:vita
input your sex(boy|BOY/girl|GIRL):boy
input your age:23
i do not like boy
4.6.3多分支
if 條件:
滿足條件執行代碼
elif 條件:
上面條件不滿足,執行這裏
elif 條件:
上面條件不滿足,執行這裏
else:
所有條件都不滿足,執行這裏
# _*_coding:utf-8_*_
"""
輸入姓名,性別和年齡,
如果是女生
年齡小於28,輸出我喜歡年輕女孩,
年齡不小於28,輸出年齡比我大也可以
如果不是女生
輸出我不喜歡男生
"""
name = input("input your name:")
sex = input("input your sex(boy|BOY/girl|GIRL):")
#input()讀入的age是字符串,要轉換爲int才能與28做大小比較
age = int(input("input your age:"))
if sex.lower() == "girl" :
if age < 28:
print(name+" i like young girl")
else:
print("the age is greater than me is also ok!")
elif sex.lower() == "boy":
print("i do not like boy")
else:
print("your input is not manual human")
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/singleif.py
input your name:vita
input your sex(boy|BOY/girl|GIRL):w
input your age:23
your input is not manual human
4.6.4while
while 條件:
執行代碼
"""
只打印1-10的偶數
"""
count = 0
while count < 10:
if count%2 == 0:
print(count)
count = count + 1
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
2
4
6
8
"""
打印1-10,第五次不打印,6-8打印值的平方
"""
count = 0
while count <= 10:
if count == 5:
pass
elif count>=6 and count<=8:
print(count*count)
else:
print(count)
count = count + 1
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
1
2
3
4
36
49
64
9
10
4.6.5死循環(dead loop)
只要運行起來,就不再停止,直到把內存耗盡
"""
只打印1-10的偶數
"""
count = 0
while count < 10:
print(count)
# count = count + 1
#註釋掉最後一行,程序一直成立,會一直運行
4.6.6循環終止
break:用於完全結束一個循環,跳出循環體執行循環後面的語句
continue:終止本次循環,下次的循環繼續
"""
打印1-10,第五次不打印,6-8打印值的平方
"""
count = 0
while count <= 10:
if count == 5:
# 這裏一定要記得把count+1,否則count就一直等於5,就死循環了
count = count + 1
continue
elif count>=6 and count<=8:
print(count*count)
else:
print(count)
count = count + 1
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
1
2
3
4
36
49
64
9
10
"""
打印1-10,第五次不打印,6-8打印值的平方
"""
count = 0
while count <= 10:
if count == 5:
# 這裏一定要記得把count+1,否則count就一直等於5,就死循環了
count = count + 1
break
elif count>=6 and count<=8:
print(count*count)
else:
print(count)
count = count + 1
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
1
2
3
4
4.6.7while...else
只有在Python中有while...else
while後面的else指,當while循環正常執行完,中間沒有被break中止的話,就會執行else
count = 0
while count <= 3:
if count == 2:
count = count + 1
continue
else:
print(count)
count = count + 1
else:
print("success")
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
1
3
success
count = 0
while count <= 3:
if count == 2:
count = count + 1
break
else:
print(count)
count = count + 1
else:
print("success")
E:\PythonProject\python-test\venvP3\Scripts\python.exe E:/PythonProject/python-test/BasicGrammer/test.py
0
1