Python3快速入门(二)——Python3基础
Python3快速入门(二)——Python3基础
一、Python3语法基础
1、Python3编码
默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下:# -*- coding: utf-8 -*-
创新互联公司主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、网络营销推广、网站程序开发、HTML5响应式成都网站建设、成都做手机网站、微商城、网站托管及成都企业网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都发电机租赁行业客户提供了网站建设服务。
2、标识符
Python语言的标识符规则如下:
A、第一个字符必须是字母表中字母或下划线 。
B、标识符的其它的部分由字母、数字和下划线组成。
C、标识符对大小写敏感。
在 Python 3 中,允许非 ASCII 标识符。
3、Python保留字
保留字即关键字,不能作为任何标识符名称。Python 的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:
>>> 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流程控制
1、条件控制
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
Python中if语句的一般形式如下:
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 in :
else:
#! /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())
名称栏目:Python3快速入门(二)——Python3基础
分享路径:http://scyanting.com/article/psogig.html