默认情况下,Python 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串,可以为Python源码文件指定不同的编码,如下:
# -*- coding: utf-8 -*-
Python语言的标识符规则如下: A、第一个字符必须是字母表中字母或下划线 。 B、标识符的其它的部分由字母、数字和下划线组成。 C、标识符对大小写敏感。 在 Python 3 中,允许非 ASCII 标识符。
保留字即关键字,不能作为任何标识符名称。Python 的标准库提供了一个keyword模块,可以输出当前版本的所有关键字:
print输出默认是换行的,如果要实现不换行需要在变量末尾加上 end=""。
Python3中多行注释用三个单引号 ‘’’ 或者三个双引号 “”" 。
Python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。 缩进的空格数是可变的,但同一个代码块的语句必须包含相同的缩进空格数,如果缩进不相同会导致运行错误。实例如下:
Python 通常是一行写完一条语句,但如果语句很长,可以使用反斜杠()来实现多行语句。
在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如
Python 中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值后才会被创建。 在 Python 中,变量没有类型,类型是变量所指的内存中对象的类型。 Python允许同时为多个变量赋值。
Python中数字有四种类型:整数、布尔型、浮点数和复数。 int (整数),只有一种整数类型int,表示为长整型。 bool (布尔),True,False。 float (浮点数),如 1.23、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 的字符串。
对于字符串、列表、元组的比较运算,按照序列的元素进行逐个比较。
逻辑与(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逻辑运算符的示例如下:
按位与运算符(&):参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。 按位或运算符(|):只要对应的二个二进位有一个为1时,结果位就为1。 按位异或运算符(^):当两对应的二进位相异时,结果为1。 按位取反():对数据的每个二进制位取反,即把1变为0,把0变为1。x等价于-(x+1)。 左移运算符(<<):运算数的各二进位全部左移若干位,由"<<“右边的数指定移动的位数,高位丢弃,低位补0。 右移运算符(>>):把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。 Python3位运算符的示例如下:
Python支持成员运算符,测试实例中是否包含了一系列的成员,包括字符串,列表或元组。 in:如果在指定的序列中找到值返回 True,否则返回 False。 not in:如果在指定的序列中没有找到值返回 True,否则返回 False。 Python3成员运算符的示例如下:
Python3身份运算符用于比较两个对象的存储单元。 is:x is y,用于判断两个标识符是不是引用自一个对象,如果引用的是同一个对象则返回 True,否则返回 False。 is not:x is not y,用于判断两个标识符是不是引用自不同对象,如果引用的不是同一个对象则返回结果 True,否则返回 False。 Python3身份运算符的示例如下:
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 Python中if语句的一般形式如下:
如果"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语句。
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
Python中的循环语句有for和 while。Python中while语句的一般形式如下:
在 while … else 在条件语句为 false 时执行 else 的语句块.
如果while循环体中只有一条语句,可以将该语句与while写在同一行中, 如下所示:
Python中for循环可以遍历任何序列的项目,如一个列表或者一个字符串。 for循环的一般格式如下:
for 循环中使用break语句用于跳出当前循环体,不会正常结束for循环,即不执行else分支。
通过seq[0:len(seq):step]可以从seq每隔step步长取一个元素构成新的序列。 Python中pass空语句用于保持程序结构的完整性,pass 不做任何事情,一般用做占位语句。
Python不支持switch,通过使用字典可以实现switch,实现方案如下: A、利用字典取值get方法的容错性,处理switch语句中的default情况。 B、设置字典的vlaue为对应方法名,来代替switch语句中的代码块。 C、为不同key设置相同的value,模拟switch中穿透。
如果你依然在编程的世界里迷茫,可以加入我们的Python学习扣qun:784758214,看看前辈们是如何学习的!交流经验!自己是一名高级python开发工程师,从基础的python脚本到web开发、爬虫、django、数据挖掘等,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地
字典实现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())