我得扼住Python的喉咙!等到它对我下手就晚了

221 阅读9分钟

其实这些小技巧真的很有用,关键时候你真用得上!

我得扼住Python的喉咙!等到它对我下手就晚了

布尔类型

Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算。

1.与运算:只有两个布尔值都为True时,计算结果才为True。

例子:

True and True # ==> True
True and False # ==> False
False and True # ==> False
False and False # ==> False

2.或运算:只要有一个布尔值为True,计算结果就是True。

例子:

True or True # ==> True
True or False # ==> True
False or True # ==> True
False or False # ==> False

3.非运算:把True变为False,或者把False变为True。

例子:

not True # ==> False
not False # ==> True

布尔运算在计算机中用来做条件判断,根据运算结果为True或者False,计算机可以自动执行不同的后续代码。

在Python中,布尔类型还可以与其他数据类型做and、or和not运算。

例子:

#布尔类型
a = True
print(a and 'a=T' or 'a=F')

运行结果如下所示。

a=T

计算结果不是布尔类型,而是字符串a=T,这是为什么呢?因为Python把0、空字符串和None看成False,其他数值和非空字符串都看成True,所以True and 'a=T'计算结果是'a=T'。继续计算'a=T' or 'a=F',所以计算结果还是'a=T'。

要解释上述结果,又涉及and和or运算的一条重要法则:短路运算。短路运算符的意思是,运算符左右的表达式只有在需要求值的时候才进行求值。比如x or y,Python从左到右进行求值,先对表达式x进行真值测试,如果表达式x是真值,则根据or运算符的特性,不管y表达式的bool结果是什么,运算符的结果都是表达式x,表达式y不会进行求值。

在计算a and b时,如果a是False,根据与运算法则,则计算结果必定为False,因此返回a;如果a是True,则整个计算结果必定取决于b,因此返回b。

在计算a or b时,如果a是True,根据或运算法则,则计算结果必定为True,因此返回a;如果a是False,则计算结果必定取决于b,因此返回b。

所以Python解释器在做布尔运算时,只要能提前确定计算结果,就不会往后算了,直接返回结果。

字符串类型

什么是字符串

字符串就是一系列字符。在Python中,单引号、双引号或者三引号里面的内容就是字符串。如果字符串中包括单引号或者双引号,那么可以使用“\”对字符串中的字符进行转义。

例子:

# 单引号里面的文本就是字符串
‘I am a boy’
# 双引号其实和单引号一样,一般推荐使用单引号
"欢迎你加入Python实战圈"
# 三引号表示的字符串,一般是很长的文字
# 三引号一般用来写文本注释
'''
我们实战圈的第一个项目就是“如何7天入门Python”
每一天都会安排学习内容,只需要40分钟就可以搞定
学完以后记得写作业并提交到“知识星球”
刚开始,学习节奏放慢一些
计划三天更新一次内容
希望你能参与进来
'''
# 转意字符串(\n)
command = 'Let\'s go!'
print('\n使用转义字符输出 :',command)

运行结果如下所示。

使用转义字符输出 :Let's go!

字符串的基本用法

1.添加空白

在编程中,一定的空白输出是为了方便阅读。Python常用的添加空白的方法有制表符(\t)、空格或者换行符(\n)。制表符表示把文字空两格输出。

例子:

# 添加空白
# 制表符可以组合使用
print("欢迎来到Python实战圈,\n")
print('\t你想要学习 Python 的哪方面内容,请留言。')

运行结果如下所示。

欢迎来到Python实战圈,
你想要学习 Python 的哪方面内容,请留言。

2.拼接字符串

拼接字符串就是把两个或两个以上的字符串合并在一起。该操作在项目中经常用到,比如爬虫时,网页的正则表达式(以后会介绍)太长,可以用拼接的方法连接起来;也可以把两个变量的字符串拼接为一个等。Python使用加号(+)来拼接字符串。

例子:

# 拼接字符串
log_1_str = 'The error is a bug.'
log_2_str = ' We should fix it.'
log_str = log_1_str + log_2_str
print('\n拼接后的字符串就是:',log_str)

运行结果如下所示。

拼接后的字符串就是:The error is a bug. We should fix it.

字符串的常见运算

1.修改字符串的大小写

在Python中,你会经常听到的两个名词是函数和方法。函数就是能独自完成特定任务的独立代码块,可以被调用;方法是面向对象编程语言中使用到的名词。Python是面向对象的编程语言,面向对象就是一切都是对象,比如你、我、他,统称为人(people),人就是一个对象。人可以奔跑(run),奔跑就是一个方法,合起来就是people.run()。

例子:

# 字符串大小写转换
welcome = 'Hello, welcome to Python practical circle'
# title(),每个单词的首字母大写
print('\n每个单词的首字母大写:', welcome.title())
# capitalize(),段落的首字母大写
print('\n段落的首字母大写:',welcome.capitalize())
# lower(),所有字母小写
print('\n所有字母小写:',welcome.lower())
# upper(),所有字母大写
print('\n所有字母大写:',welcome.upper())
# 大写转小写,小写转大写
print('\n大写转小写,小写转大写:',welcome.swapcase())
# String.isalnum(),判断字符串中是否全部为数字或者英文,符合就返回True,不符合就返回False,如果里面包含符号或者空格之类的特殊字符,那么也会返回False
print('\n判断字符串是否全部为数字或者英文:',welcome.isalnum())
# String.isdigit(),判断字符串中是否全部为整数
print('\n判断字符串中是否全部为整数:', welcome.isdigit())

运行结果如下所示。

每个单词的首字母大写:Hello, Welcome To Python Practical Circle
段落的首字母大写:Hello, welcome to python practical circle
所有字母小写:hello, welcome to python practical circle
所有字母大写:HELLO, WELCOME TO PYTHON PRACTICAL CIRCLE
大写转小写,小写转大写:hELLO, WELCOME TO pYTHON PRACTICAL CIRCLE
判断字符串是否全部为数字或者英文:False
判断字符串中是否全部为整数:False

2.删除字符串两端的空白

删除字符串两端的空白,在数据清理时经常被用到。常见的操作是去除两端或者一端的空格。

例子:

 # 删除两端的空白
love_Python = ' Hello, Python Practical Circle '
 # 删除字符串两端的空白
print('删除字符串两端的空白',love_Python.strip())
 # 删除字符串右侧的空白
print('删除字符串右侧的空白',love_Python.rstrip())
 # 删除字符串左侧的空白
 print('删除字符串左侧的空白',love_Python.lstrip())

运行结果如下所示。

 删除字符串两端的空白 Hello, Python Practical Circle
 删除字符串右侧的空白 Hello, Python Practical Circle
 删除字符串左侧的空白 Hello, Python Practical Circle

3.其他注意事项

Python中字符串的操作非常多,以上只列出了部分常用操作。有一点需要注意的是,Python中的字符串不允许修改值,只允许覆盖值。也就是说,字符串只能重新赋值。

字符串的切片

切片(slice)操作是Python中经常用到的操作。字符串的切片就是从一个字符串中获取子字符串(字符串的一部分)。我们使用一对方括号、起始偏移量(start)、终止偏移量(end),以及可选的步长(step)来定义一个切片。

语法:[start:end:step]
• [:] 提取从开头(默认位置0)到结尾(默认位置-1)的整个字符串
• [start:] 从start提取到结尾
• [:end] 从开头提取到end-1
• [start:end] 从start 提取到end-1
• [start:end:step] 从start提取到end-1,每step个字符提取一个
• 左侧第一个字符的位置/偏移量为0,右侧最后一个字符的位置/偏移量为-1

例子:

# 字符串切片
word = 'Python'
print(word[1:2])
print(word[-2:])
print(word[::2])
print(word[::-1])

运行结果如下所示。

y
on
Pto
nohtyP

各种类型之间的转换

在Python中,各个数据类型是可以互相转化的,并且可以使用type()函数查看某一个变量的类型。

语法:type(变量名) 用来查看变量的数据类型

type()函数在实际项目中经常用到,因为只有知道了变量是什么类型才可以进行相应的运算,比如字典类型和列表类型有不同的运算。类型转换在项目实战中也经常用到,例如一个超市的月销售额是一个字符类型,转换为数字类型才可以进行统计,如计算平均数等,具体的转换语法如下所示。

语法:

float(a) 将变量a转换为浮点数
int(b) 将变量b转换为整数
str(c)将变量c转换为字符串
其中a、b、c为任意变量类型

例子:

'''
 各种数据类型之间的转换
'''
print('\n各个数值类型的转换')
number = 100
# number的数据类型是整型,用int表示
print('number的数据类型是:')
print(type(number))
# 将整数转换为浮点数
float_number = float(number)
print('\nfloat_number的数据类型是:')
print(type(float_number))
# 将整型转换为字符串
print('\nnumber转换为字符串类型')
str_number = str(number)
print('str_number的数据类型是:')
print(type(str_number))
# 将字符串转换为整型int()或者浮点数float()
print('\nstr_number转换为数字类型')
int_str_number = int(str_number)
float_str_number = float(str_number)
print('int_str_number的数据类型是:')
print(type(int_str_number))
print('float_str_number的数据类型是:')
print(type(float_str_number))

运行结果如下所示。

各个数值类型的转换
number的数据类型是:
<class 'int'>
float_number的数据类型是:
<class 'float'>
number转换为字符串类型
str_number的数据类型是:
<class 'str'>
str_number转换为数字类型
int_str_number的数据类型是:
<class 'int'>
float_str_number的数据类型是:
<class 'float'>

有其他的一些实用技巧伙伴们也可以留言分享给大家!欢迎补充!