默认状况下,Python 源码文件以 UTF-8 编码,全部字符串都是 unicode 字符串,能够为Python源码文件指定不一样的编码,以下:# -*- coding: utf-8 -*-
python
Python语言的标识符规则以下:
A、第一个字符必须是字母表中字母或下划线 。
B、标识符的其它的部分由字母、数字和下划线组成。
C、标识符对大小写敏感。
在 Python 3 中,容许非 ASCII 标识符。async
保留字即关键字,不能做为任何标识符名称。Python 的标准库提供了一个keyword模块,能够输出当前版本的全部关键字:ide
>>> 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'] >>>
print输出默认是换行的,若是要实现不换行须要在变量末尾加上 end=""。函数
#!/usr/bin/python3 print("Hello Python3") print("Hello ", end="") print("Python", end="3\n")
Python中单行注释以#开头:测试
#! /usr/bin/python3 # 第一个注释 print("Hello Python3") #第二个注释
Python3中多行注释用三个单引号 ''' 或者三个双引号 """ 。this
#!/usr/bin/python3 ''' 第三注释 第四注释 ''' """ 第五注释 第六注释 """ print("Hello Python3")
Python最具特点的就是使用缩进来表示代码块,不须要使用大括号 {} 。
缩进的空格数是可变的,但同一个代码块的语句必须包含相同的缩进空格数,若是缩进不相同会致使运行错误。实例以下:编码
#!/usr/bin/python3 flag = True if flag: print("True") print("true") else: print("False") print("false") print ("Hello Python3")
Python 一般是一行写完一条语句,但若是语句很长,可使用反斜杠()来实现多行语句。code
#!/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)
Python 中的变量不须要声明,每一个变量在使用前都必须赋值,变量赋值后才会被建立。
在 Python 中,变量没有类型,类型是变量所指的内存中对象的类型。
Python容许同时为多个变量赋值。blog
a = b = c = 1 a, b, c = 1, True, "hello" x,y = 1,2 x,y = y,x print(x,y)
Python中变量命名推荐使用匈牙利命名法则。
#!/usr/bin/python3 input("Please enter the name:\n")
上述Python代码会等待用户输入,按回车键后退出。
Python中数字有四种类型:整数、布尔型、浮点数和复数。
int (整数),只有一种整数类型int,表示为长整型。
bool (布尔),True,False。
float (浮点数),如 1.2三、3E-2
complex(复数),如 1 + 2j、 1.1 + 2.2j
Python中使用单引号和双引号建立字符串,使用三引号('''或""")能够建立一个多行字符串。
转义符 '\'
反斜杠能够用来转义,使用r可让反斜杠不发生转义,如 r"this is a line with \n" 则\n会显示,并不换行。
字符串能够用+运算符链接在一块儿,用 * 运算符重复。
Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
Python中的字符串不能改变。
Python没有单独的字符类型,一个字符就是长度为 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
等于(==):比较对象是否相等 不等于(!=):比较对象是否不相等 大于(>):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)
赋值(=):简单赋值运算 加法赋值(+=):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
逻辑与(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)
按位与运算符(&):参与运算的两个值,若是两个相应位都为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
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中")
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))
Python运算符的优先级从高到低以下:
编码过程当中对于模糊不肯定的优先级建议使用加括号显示肯定。
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 结构中。
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
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())