Python3快速入门(二)Python3基础

一、Python3语法基础

1、Python3编码

默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下:

# -*- coding: utf-8 -*-

2、标识符

Python语言的标识符规则如下:

A、第一个字符必须是字母表中字母或下划线 。

B、标识符的其它的部分由字母、数字和下划线组成。

C、标识符对大小写敏感。

在 Python 3 中,允许非 ASCII 标识符。

3、Python保留字

保留字即关键字,不能作为任何标识符名称。Python 的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:

在学习过程中有什么不懂得可以加我的
python学习资源qun,855-408-893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

>>> import keyword

>>> keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

>>>

4、Print输出

print输出默认是换行的,如果要实现不换行需要在变量末尾加上 end=""。


#!/usr/bin/python3

print("Hello Python3")

print("Hello ", end="")

print("Python", end="3\n")

5、Python注释

Python中单行注释以#开头:


#! /usr/bin/python3

# 第一个注释

print("Hello Python3")  #第二个注释

Python3中多行注释用三个单引号 ''' 或者三个双引号 """ 。


#!/usr/bin/python3

'''

第三注释

第四注释

'''

"""

第五注释

第六注释

"""

print("Hello Python3")

6、缩进

Python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数是可变的,但同一个代码块的语句必须包含相同的缩进空格数,如果缩进不相同会导致运行错误。实例如下:


#!/usr/bin/python3

flag = True

if flag:

    print("True")

    print("true")

else:

    print("False")

    print("false")

print ("Hello Python3")

7、多行语句

Python 通常是一行写完一条语句,但如果语句很长,可以使用反斜杠()来实现多行语句。


#!/usr/bin/python3

item_one = 1

item_two = 2

item_three = 3

total = item_one + \

        item_two + \

        item_three

print(total)

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如


#!/usr/bin/python3

item_one = 1

item_two = 2

item_three = 3

total = item_one + \

        item_two + \

        item_three

print(total)

total = ['item_one', 'item_two', 'item_three',

      'item_four', 'item_five']

print(total)

8、变量

Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值后才会被创建。

在 Python 中,变量没有类型,类型是变量所指的内存中对象的类型。

Python允许同时为多个变量赋值。


a = b = c = 1

a, b, c = 1, True, "hello"

x,y = 1,2

x,y = y,x

print(x,y)

Python中变量命名推荐使用匈牙利命名法则。

9、用户输入


#!/usr/bin/python3

input("Please enter the name:\n")

上述Python代码会等待用户输入,按回车键后退出。

10、数字类型

Python中数字有四种类型:整数、布尔型、浮点数和复数。

int (整数),只有一种整数类型int,表示为长整型。

bool (布尔),True,False。

float (浮点数),如 1.23、3E-2

complex(复数),如 1 + 2j、 1.1 + 2.2j

11、字符串

Python中使用单引号和双引号创建字符串,使用三引号('''或""")可以创建一个多行字符串。

转义符 '\'

反斜杠可以用来转义,使用r可以让反斜杠不发生转义,如 r"this is a line with \n" 则\n会显示,并不换行。

字符串可以用+运算符连接在一起,用 * 运算符重复。

Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

Python中的字符串不能改变。

Python没有单独的字符类型,一个字符就是长度为 1 的字符串。

二、Python3运算符

1、算术运算符


加(+):两对象相加

减(-):两对象相减

乘(*):两个数相乘或是返回一个被重复若干次的字符串

除(/):x除以y

取模(%):返回除法的余数

幂(**):返回x的y次幂

取整除(//):向下取接近除数的整数

Python3算术运算符的示例代码:


#!/usr/bin/python3

a = 10

b = 5

c = 0

# +

c = a + b

print("a + b = ", c)

# a + b =  15

a = "Hello"

b = "Python3"

c = a + b

print("a + b = ", c)

#a + b =  HelloPython3

# -

a = 10

b = 5

c = a -b

print("a - b = ", c)

# a - b =  5

# *

a = 10

b = 3

c = a * b

print("a * b = ", c)

#a * b =  30

a = "Hello"

b = 3

c = a * b

print("a * b = ", c)

#a * b =  HelloHelloHello

# /

a = 10

b = 3

c = a / b

print("a / b = ", c)

#a / b =  3.3333333333333335

# %

a = 10

b = 3

c = a % b

print("a % b = ", c)

#a % b =  1

# **

a = 2

b = 10

c = a ** b

print("a ** b = ", c)

# a ** b =  1024

# //

a = 10

b = 3

c = a // b

print("a // b = ", c)

# a // b =  3

2、比较运算符


等于(==):比较对象是否相等

不等于(!=):比较对象是否不相等

大于(>):x是否大于y

小于(<):是否x小于y

大于等于(>=):x是否大于等于y

小于等于(<=):x是否小于等于y

Python3关系运算符的示例代码如下:


#!/usr/bin/python3

a = 21

b = 10

c = 0

if (a == b):

    print("a 等于 b")

else:

    print("a 不等于 b")

if (a != b):

    print("a 不等于 b")

else:

    print("a 等于 b")

if (a < b):

    print("a 小于 b")

else:

    print("a 大于等于 b")

if (a > b):

    print("a 大于 b")

else:

    print("a 小于等于 b")

if (a <= b):

    print("a 小于等于 b")

else:

    print("a 大于  b")

if (b >= a):

    print("b 大于等于 a")

else:

    print("b 小于 a")

对于字符串、列表、元组的比较运算,按照序列的元素进行逐个比较。


a1 = "hello"

a2 = "hello"

print(a1 == a2)

b1 = [1,2,3]

b2 = [1,2,3]

print(b1 == b2)

c1 = (1,2,3)

c2 = (1,2,4)

print(c2 > c1)

3、赋值运算符


赋值(=):简单赋值运算

加法赋值(+=):c += a等效于c = c + a

减法赋值(-=):c -= a等效于c = c - a

乘法赋值(*=):c *= a等效于c = c * a

除法赋值(/=):c /= a等效于c = c / a

取模赋值(%=):c %= a等效于c = c % a

幂赋值(**=):c **= a等效于c = c ** a

取整除赋值(//=):c //= a 等效于c = c // a

Python3赋值运算符的示例如下:


#!/usr/bin/python3

a = 21

b = 10

c = 0

# =

c = a + b

print("c = ", c)

# c = 31

# +=

a = 10

c = 3

c += a

print("c = ", c)

# c = 13

a = 3

c = 10

# -=

c -= a

print("c = ", c)

# c = 1

# *=

a = 3

c = 5

c *= a

print("c = ", c)

# c = 15

# /=

a = 2

c = 10

c /= a

print("c = ", c)

# c = 5.0

# %=

a = 3

c = 10

c %= a

print("c = ", c)

# c = 1

# **=

a = 10

c = 2

c **= a

print("c = ", c)

# c = 1024

# //=

c = 10

a = 3

c //= a

print("c = ", c)

# c = 3

4、逻辑运算符

逻辑与(and):x and y, 如果 x 为 False,x and y 返回 x,否则返回 y 的值。

逻辑或(or):x or y,如果 x 是 True,返回 x 的值,否则返回 y 的值。

逻辑非(not):not x,如果 x 为True,返回False 。如果 x 为 False,返回 True。

Python3逻辑运算符的示例如下:


#!/usr/bin/python3

x = 10

y = 5

# x and y

print(x and y) #5

print(0 and y) #0

# x or y

print(x or y)  #10

print(0 or y)  #5

# not x

print(not x)

print(not False)

5、位运算符

按位与运算符(&):参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。

按位或运算符(|):只要对应的二个二进位有一个为1时,结果位就为1。

按位异或运算符(^):当两对应的二进位相异时,结果为1。

按位取反(~):对数据的每个二进制位取反,即把1变为0,把0变为1。~x等价于-(x+1)。

左移运算符(<<):运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

右移运算符(>>):把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。

Python3位运算符的示例如下:


#!/usr/bin/python3

a = 0b00111100

b = 0b00001101

c = 0

c = a & b;

print("c 的值为:", bin(c))  # 0b1100

c = a | b;

print("c 的值为:", bin(c))  # 0b111101

c = a ^ b;

print("c 的值为:", bin(c))  # 0b110001

c = ~a;

print("c 的值为:", bin(c))  # -0b111101

c = a << 2;

print("c 的值为:", bin(c))  # 0b11110000

c = a >> 2;

print("c 的值为:", bin(c))  # 0b1111

6、成员运算符

Python支持成员运算符,测试实例中是否包含了一系列的成员,包括字符串,列表或元组。

in:如果在指定的序列中找到值返回 True,否则返回 False。

not in:如果在指定的序列中没有找到值返回 True,否则返回 False。

Python3成员运算符的示例如下:


#!/usr/bin/python3

a = 1

b = 20

list = [1, 2, 3, 4, 5]

if (a in list):

    print("变量a在给定的列表list中")

else:

    print("变量a不在给定的列表list中")

if (b not in list):

    print("变量b不在给定的列表list中")

else:

    print("变量b在给定的列表list中")

7、身份运算符

Python3身份运算符用于比较两个对象的存储单元。

is:x is y,用于判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False。

is not:x is not y,用于判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。

Python3身份运算符的示例如下:


#!/usr/bin/python3

a = 20

b = 20

if (a is b):

    print("a和b有相同的标识")

else:

    print("a和b没有相同的标识")

if (a is not b):

    print("a和b没有相同的标识")

else:

    print("a和b有相同的标识")

Python中对象类型的判断使用is×××tance方法进行判断。

a = "hello"

print(is×××tance(a, str))

8、运算符优先级

Python运算符的优先级从高到低如下:

Python3快速入门(二)Python3基础

编码过程中对于模糊不确定的优先级建议使用加括号显示确定。

三、Python3流程控制

1、条件控制

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

Python中if语句的一般形式如下:

在学习过程中有什么不懂得可以加我的
python学习资源qun,855-408-893
群里有不错的学习视频教程、开发工具与电子书籍。
与你分享python企业当下人才需求及怎么从零基础学习好python,和学习什么内容

if condition_1:

    statement_block_1

elif condition_2:

    statement_block_2

else:

    statement_block_3

如果"condition_1"为True将执行"statement_block_1"块语句。

如果"condition_1"为False,将判断"condition_2"。

如果"condition_2"为True将执行"statement_block_2"块语句。

如果 "condition_2" 为False,将执行"statement_block_3"块语句。

每个条件后使用冒号(:)表示满足条件后要执行的语句块。

条件控制中使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

在Python中没有switch – case语句。


#! /usr/bin/python3

score = int(input("Please enter the score: "))

if score < 60:

    print("D")

elif score < 80:

    print("C")

elif score < 90:

    print("B")

elif score <= 100:

    print("A")

在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

2、循环控制

Python中的循环语句有for和 while。Python中while语句的一般形式如下:


while 判断条件:

    语句

在Python中没有do..while循环。


#! /usr/bin/python3

N = 100

counter = 1

n = 0

while counter <= N:

    n += counter

    counter += 1

print("1 到 %d 之和为: %d" % (N, n))

在 while … else 在条件语句为 false 时执行 else 的语句块.


#! /usr/bin/python3

count = 0

while count < 5:

    print("Hello Python3")

    count += 1

else:

    print("Hello Go")

如果while循环体中只有一条语句,可以将该语句与while写在同一行中, 如下所示:


#! /usr/bin/python3

flag = 1

while flag: print('Hello Python3')

print("Good bye!")

Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

for循环的一般格式如下:


for <variable> in <sequence>:

    <statements>

else:

    <statements>

#! /usr/bin/python3

languages = ["C", "C++", "Perl", "Python"]

for x in languages:

    print(x)

for 循环中使用break语句用于跳出当前循环体,不会正常结束for循环,即不执行else分支。


#! /usr/bin/python3

languages = ["C", "C++", "Perl", "Python"]

for x in languages:

    if x == "Python":

        print(x)

        break

    print(x)

else:

    print("None")

range()内置函数可以用于生成数列。


#! /usr/bin/python3

for x in range(5):

    print(x)

# 指定区间

for x in range(5,9):

    print(x)

# 指定区间和步长

for x in range(0,10,2):

    print(x)

for x in range(-10,-100,-10):

    print(x)

a = [1,2,3,4,5,6,7,8]

for i in range(0, len(a), 2):

    print(a[i])

b = a[0:len(a):2]

print(b) # [1, 3, 5, 7]

通过seq[0:len(seq):step]可以从seq每隔step步长取一个元素构成新的序列。

Python中pass空语句用于保持程序结构的完整性,pass 不做任何事情,一般用做占位语句。


#! /usr/bin/python3

for x in range(5):

    pass

3、switch实现

Python不支持switch,通过使用字典可以实现switch,实现方案如下:

A、利用字典取值get方法的容错性,处理switch语句中的default情况。

B、设置字典的vlaue为对应方法名,来代替switch语句中的代码块。

C、为不同key设置相同的value,模拟switch中穿透。

字典实现switch的示例如下:


#!/usr/bin/python3

def taskForRest():

    print("Today is easy!")

def taskForWork():

    print("Good job!")

def taskForDefault():

    print("Invalid input!")

switchDic = {"Sunday":taskForRest,

            "Monday":taskForWork,

            "Tuesday":taskForWork,

            "Wednesday":taskForWork,

            "Tursday":taskForWork,

            "Friday":taskForWork,

            "Saturday":taskForRest

}

monday = "Monday"

switchDic.get(monday,taskForWork())

tuesday = "Tuesday"

switchDic.get(tuesday, taskForWork)()

today = "Today"

switchDic.get(today,taskForDefault())
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章