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

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

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

screenshot

布尔类型

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的数据类型是:

float_number的数据类型是:

number转换为字符串类型
str_number的数据类型是:

str_number转换为数字类型
int_str_number的数据类型是:

float_str_number的数据类型是:

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

相关文章
|
C++ UED Python
微软再出神器,这次终于对Python下手了!
微软又出良心工具了! 微软于7月1日发布一款新的VS Code插件,名为Pylance,这个名称是向Monty Python的Lancelot致敬。
微软再出神器,这次终于对Python下手了!
Python对我下手了!学会这几个知识点可以救命
Python对我下手了!学会这几个知识点可以救命
Python对我下手了!学会这几个知识点可以救命!
Python 难学吗?作为初学者该如何入门呢?本文选自Python 之父Guido van Rossum先生力荐的《零基础轻松学Python》一书,读的不尽兴的话,欢迎在本书中了解更多。 不要害怕这件事情,写代码,其实和写作文一样,首先需要有一个题目,然后对题目进行拆解。
1874 0
|
机器学习/深度学习 自然语言处理 数据可视化
|
1天前
|
开发者 Python
GitHub飙升!京东认证的“Python编程入门三剑客”究竟好在哪?
Python凭借着简单易学、功能强大,已经跃居TIOB编程语言榜首,并且已经开始了它的霸榜之旅。如何选择一套适合自己的Python学习教程,是每个Python爱好者面临的首要问题。
|
1天前
|
存储 设计模式 算法
Python基础教程(第3版)中文版 第19章 趣味编程 (笔记)
Python基础教程(第3版)中文版 第19章 趣味编程 (笔记)
|
1天前
|
Shell Python
GitHub星标破千Star!Python游戏编程的初学者指南
Python 是一种高级程序设计语言,因其简洁、易读及可扩展性日渐成为程序设计领域备受推崇的语言。 目前的编程书籍大多分为两种类型。第一种,与其说是教编程的书,倒不如说是在教“游戏制作软件”,或教授使用一种呆板的语言,使得编程“简单”到不再是编程。而第二种,它们就像是教数学课一样教编程:所有的原理和概念都以小的应用程序的方式呈现给读者。
|
2天前
|
机器学习/深度学习 存储 自然语言处理
惊艳!老司机熬夜总结的Python高性能编程,高效、稳定、快速!
Python 语言是一种脚本语言,其应用领域非常广泛,包括数据分析、自然语言处理机器学习、科学计算、推荐系统构建等。 能够轻松实现和代码跑得够快之间的取舍却是一个世人皆知且令人惋惜的现象而这个问题其实是可以解决的。 有些人想要让顺序执行的过程跑得更快。有些人需要利用多核架构、集群,或者图形处理单元的优势来解决他们的问题。有些人需要可伸缩系统在保证可靠性的前提下酌情或根据资金多少处理更多或更少的工作。有些人意识到他们的编程技巧,通常是来自其他语言,可能不如别人的自然。
|
2天前
|
机器学习/深度学习 人工智能 算法
|
3天前
|
Python
Python编程实战:如何将列表组装成一棵树结构
本文介绍了如何在Python中将列表转换为树结构。首先定义`TreeNode`类表示节点,包含值和子节点列表。然后,通过`list_to_tree`函数递归地将列表转为树。此外,还提供了添加和删除节点的方法。文章旨在帮助读者理解和操作树结构,以解决实际编程问题。
Python编程实战:如何将列表组装成一棵树结构