每天十分钟掌握Python——关于运算符和字符串那些不为人知的事(附赠知识点思维导图)

笔者:风起怨江南 出处:https://blog.csdn.net/JackMengJin 笔者原创,文章欢迎转载,转载请标明出处。如果喜欢请点赞+关注,感谢支持!

最近的一篇《避雷!零基础菜鸟如何快速上手Python》文章->传送门,得到了很多朋友的点赞和收藏,那么这一篇《关于运算符和字符串那些不为人知的事》也希望能够帮助到大家。本讲内容的思维导图在文章的最后面,需要的朋友记得保存。

目录

一、上一篇内容回顾

1.1 回顾标识符

1.2 注释

1.3 简单的内置函数

1.4 数据类型

1.5 数据类型转换

 

二、 运算符

2.1 赋值运算

2.2 比较运算

2.3 逻辑运算

2.4 运算符优先级

三、字符串

3.1 什么是字符串

3.2 成员运算

3.3 成员操作

3.5 获取字符串的长度 len()

3.7 步长


关于运算符和字符串那些不为人知的事

一、上一篇内容回顾

  • Pycharm使用的重点:千万不要选virtualenv,避开雷区

虚拟环境会导致terminal前面有个括号,意味着进入到了虚拟环境,先不涉及虚拟环境。

提问:那如果不确定是否选择了virtualenv虚拟环境,我们怎么去验证是虚拟环境还是系统环境呢?

步骤如下:

settings

Project

Project Interpreter

带括号是虚拟环境

不带括号是系统环境

现阶段暂时不要涉及到虚拟环境,关于虚拟环境的用法后期会再详细讲解。

1.1 回顾标识符

变量命名规范

  • 1.字母数字下划线
  • 2.不能数字开头
  • 3.不要使用关键字

错误时会出现红色波浪线

  • 4.见名知意(重要,需要多练习,通过名字能知道后面数据代表什么。这个真的很重要!)

1.2 注释

#号 单行注释

三引号 """

多行注释

"""

ctrl + / 注释快捷操作

1.3 简单的内置函数

print() 打印

input() 获取用户输入

1.4 数据类型

int整形

float浮点数

str字符串

bool布尔型

查看是什么数据类型用type()函数来确认

#type()函数用法
str_abc = 'abc'
print(type(str_abc))
print(str_abc)
<class 'str'>
abc

1.5 数据类型转换

数据类型后面加个括号就是数据类型的转换,不是所有类型之间都可以相互转换。

比如:字符串转换为整形——不一定

可以转换:

#数据类型转换
str_demo = '123'
print(int(str_demo))
print(type(str_demo))
print(str_demo)
123
<class 'str'>
123

数字就可以完成转换,而不可以转换的情况:

#数据类型转换
str_demo = 'abc'
print(int(str_demo))
print(type(str_demo))
print(str_demo)
Traceback (most recent call last):
File "E:/MyLife/demo.py", line 29, in <module>   print(int(str_demo))
ValueError: invalid literal for int() with base 10: 'abc'
  • 数据转换重点内容

布尔转换是重点

以下情况bool转化为False,意思为空或者0:

  • bool(1) True
  • bool(0) False
  • bool(-1) True

需要注意的是 bool(" ") True 空格是有意义的,这个是python的坑

#布尔数据类型转换
print(bool(''))
print(bool(' '))
False
True

bool("") False 没空格是False!

 

二、 运算符

运算符就是算术运算符,包括加减乘数:

  • +加法
  • -减法
  • *乘法
  • /除法

需要注意是除法,得到的是浮点数。

小技巧——这里有个pycharm的小技巧,打红色断点后,右键点debug,可以查看数据类型:

为什么除法得到的不是整数?

因为除法会遇到除不尽的情况,所以使用了除法数据类型会转化为浮点数。

需要注意:被除数不能为0(小学数学知识点,别问我为什么= =)

幂运算

** 次方运算

整除

// 15 // 2 取整数部分 等于7

重点:取余数,专有名词为模运算

h = 15 % 2

模运算经常用来进行奇数偶数判断:

x%2的值是0,说明x是偶数

x%2的值是1,说明x是奇数

a = input('请输入数字:')

print(int(a) % 2)

如果得到的数字是0,就是偶数,1就是奇数

2.1 赋值运算

a = 6 将6赋值给变量a

a += 6 #相当于a = a + 6 a = 12

a -= 4 #相当于a = a - 4 a = 8

a *= 2 #相当于 a = a * 2

2.2 比较运算

布尔类型 == >= <= != > <

== 等于的意思

= 一个等号是赋值的意思

a = 1 == 2

优先级先算==,再算赋值,如果不清楚请加括号!

得到的结果是布尔类型正确是True,错误是False。

2.3 逻辑运算

and 两种运算,并且

1 > 2 and 3 < 4 错的,逻辑运算符可以加很多

对于and而言,一错再错,一直错

or 或者 错一点没关系,不全错就行

1 > 2 or 3 < 4

not 杠精,作对的

not 1 > 2,True

实战操作

 print(not 2 != 3 and 6 < 7 or 5 == 4)

2.4 运算符优先级

优先级最高的是加括号

比较运算得到的结果是布尔类型

逻辑运算得到的结果也是布尔类型

在if判断中会用到布尔类型

三、字符串

3.1 什么是字符串

我们在python中以引号括起来的数据类型就是字符串。

只要在引号里面就是字符串,前面可以加个变量:

a = "qwertyuiopasdfghjkl;'zxcvbnm,./'"

引号可以是单引号,双引号,三引号,没有任何区别,

三引号可以表示多行字符串:

a = """

这是一个多行注释

巴拉巴拉小魔仙

"""

单引号和双引号时不能多行注释,只能表示一行。

三引号可以是三个单引号,也可以是三个双引号。

三引号什么时候是注释什么时候是字符串

  • 用到的时候就是字符串,不用就是注释
  • 比如用到print(),变量等等

3.2 成员运算

#成员运算
names = "jack"
print ("jack" in names)
True

返回得到布尔类型:true

in 真的 not in 假的

3.3 成员操作

字符串也是可以用+号的,表示字符串拼接起来:

family_name = "Jack"
last_name = "Meng"
print(family_name + last_name)
True
JackMeng

而字符串 * 数字,表示重复多少遍:

family_name = "Jack"
last_name = "Meng"
print(family_name + last_name)
print(last_name * 5)
True
JackMeng
MengMengMengMengMeng

注意:字符串不能乘字符串,只能乘数字

family_name = "Jack"
last_name = "Meng"
print(last_name * family_name)
Traceback (most recent call last):
  File "E:/MyLife/demo2.py", line 13, in <module>
    print(last_name * family_name)
TypeError: can't multiply sequence by non-int of type 'str'

3.4 字符串索引

重点:表示获取字符串当中的某一个元素

字符串的索引:索引(字符串里面每一个字符都有下标(索引),并且是从0开始)

正序:从头开始数

反序:从尾开始数

字符串怎么取值:根据索引取值

取值公式:字符串名[索引值]

索引表示方法:name[索引号]

在Python中,索引从0开始。-1的索引代表最后一位。

3.5 获取字符串的长度 len()

需要注意的是,超出索引范围,会报错!!

name = "1"
name_len = len(name)
print(name[name_len - 3])
Traceback (most recent call last):
  File "E:/MyLifedemo2.py", line 10, in <module>
    print(name[name_len - 3])
IndexError: string index out of range

3.6 切片

定义:切片操作可以从一个字符串中获取子字符串(字符串的一部分),使用起始偏移量

tart、终止偏移量end、可选步长step定义一个分片

格式:name[切的起始点:切的终点]

特点:取头不取尾

  • [:]提取开头到结尾
  • [start:]从start提取到结尾
  • [:end]从开头提取到end-1
  • [start:end]从start提取到end-1

切片:获取字符串的多个元素

注意:这里有个坑,切片属于顾头不固腚那种,,取左不取右,切的终点+1,也就是右边的要 +1。

3.7 步长

num = "12345678987654321"
print(num[1:5:2]) #1 + 2 + 2
print(num[2:8:3])
24
36

步长:step获取第一次以后+多少个索引去获取第2个索引

方向:正数是正方向,负数是负方向:

num = "123456789abcdefg"
print(num[::-1])
gfedcba987654321

切片中超出范围是不会报错的:

num = "123456789abcdefg"
print(num[1:10000000000])
23456789abcdefg

在切片道中,超出范围是不报错的,是表示取完的意思。

经常有Python的面试题会用到这里,比如如何倒序

print(name[::-1])

总结:

字符串的操作

表示方法,单引号 双引号 三引号

字符串的拼接

加号+和乘号*

加号表示拼接,乘号表示重复次数

in/not in 成员运算

len()函数 获取字符串的长度

索引 获取后一个元素,以0开始,而不是1开始,超出索引范围会出错IndexError

负数 从-1开始 从右边取

切片 获取多个元素,取左不取右,超出范围 不报错,表示方法:name[start:step]

step为负数表示倒序

等等。下面奉上知识点的思维导图:



以上内容便是《每天十分钟掌握Python——运算符和字符串》的所有内容,更多python学习请继续关注我的博客——风起怨江南,目前《Python学习》专题正在不断更新,其他学习模块正在创作中。原创不易,转载请注明哦。如果喜欢请点赞和关注,谢谢大家的支持!

获得更多免费的学习资料请添加微信公众号——风起怨江南,谢谢大家的关注和支持!

发布了12 篇原创文章 · 获赞 19 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/JackMengJin/article/details/105610626