【Python知识点】-短路操作/if/进制转换/Unicode/逗号与加号/集合/声明编码器与路径/转义字符/raw字符串

本文深入探讨Python编程的实用技巧,包括逻辑运算符的短路操作、条件判断优化、进制转换、Unicode处理、集合应用等,旨在提升编程效率与代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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 集合

集合是指包含一组元素的数据结构,已经介绍的包括:

  1. 有序集合:list,tuple,str和unicode;

  2. 无序集合:set;

  3. 无序集合并且具有 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值