基礎語法

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章