1 and与or短路操作
在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
2 if与elif
if 语句后接表达式,然后用:表示代码块开始。
要避免嵌套结构的 if … else …,我们可以用 if … 多个elif … else … 的结构,一次写完所有的规则:
输入:
age = int(input("Please input a age:"))
输入你的年龄以后,再输入:
if age >= 18:
print('Adult')
elif age >= 6:
print('Teenager')
elif age >= 3:
print('Kid')
else:
print('Baby')
这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。
3 int进制转换
Python自带的int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:
输入:
int('123')
输入:
int('123', 8)
输出:
83 # 将8进制的123转换为了十进制,结果为83
4 Unicode
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。Unicode字符串除了多了一个 u 之外,与普通字符串没啥区别。下面的代码是一个例子:
print(u"To be the fastest man alive")
转义功能:
print(u'Naruto\nSasuke\nSakura')
输出如下:
Naruto
Sasuke
Sakura
输出多行:
print(u'''Naruto
Sasuke
Sakura''')
输出如下:
Naruto
Sasuke
Sakura
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释:
#-*- coding: utf-8-*-
上述代码中目的是告诉Python解释器,用UTF-8编码读取源代码。
5 逗号与加号的使用
输入如下:
print('Hello' + 'World') # 使用" + ",两个输出将直接首尾相连
输出如下:
HelloWorld
输入如下:
print('Hello', 'World') # 使用",",两个输出之间将会有一个空格
输出如下:
Hello World
6 集合
集合是指包含一组元素的数据结构,已经介绍的包括:
-
有序集合:list,tuple,str和unicode;
-
无序集合:set;
-
无序集合并且具有 key-value 对:dict。
7 声明解释器的路径和文件编码方式
在Python源码的头文件中要声明编码方式,Python脚本语言的一般都会以以下两行语句开头:
#!/usr/bin/env python3 # 指定执行该脚本的解释器
#-*- coding: utf-8 -*-
脚本语言的第一行作用是指定执行该脚本的解释器,通常会有以下几种不同的写法,效果相同:
第一种:
#!/usr/bin/python
上述代码中告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;相当于python的绝对路径。
第二种:
#!/usr/bin/env python
上述代码是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。会去环境设置寻找python目录(事先需要配置好环境变量)。
8 转义字符
要表示字符串Bob said "I'm OK"
。由于 ’ 和 " 会引起歧义,因此,我们在它前面插入一个\表示这是一个普通字符,不代表字符串的起始,因此,这个字符串又可以表示为:
print('Bob said \"I\'m OK\".')
输出如下:
Bob said "I'm OK".
9 raw字符串与多行字符串
如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,表示这是一个 raw 字符串,里面的字符就不需要转义了。
输入如下:
print(r'\(~_~)/ \(~_~)/')
如果要表示多行字符串,可以用’’’…’’'表示:
print('''Naruto
Sasuke
Sakura''')
输出如下:
Naruto
Sasuke
Sakura