Python精通-运算符与基本数据类型(一)
导语
之前的分享中简单的说了运算符合基本的数据类型,这里继续来分享运算符和基本数据类型。并且使用PyCharm进行开发
文章目录
- 回顾
- 补充
- 运算符
- 引入新的数据类型 布尔值(bool)
- 判断条件
- 算数运算符(在之前的博客中总结过)
- 比较运算符
- 赋值运算符
- 逻辑运算符
- 成员运算符
- 基本数据类型
- 数字(整数类型)(int)
- int()
- bit_length() 表示当前数字二进制用位来表示
- 字符串(str)
- capitalize() 表示首字母大写
- casefold()与lower();
- def center(self, width, fillchar=None)
- def count(self, sub, start=None, end=None)
- def endswith(self, suffix, start=None, end=None)
- def startswith(self, prefix, start=None, end=None)
- def find(self, sub, start=None, end=None)
- def index(self, sub, start=None, end=None)
- def format(self, *args, **kwargs)
- def format_map(self, mapping)
- def isalnum(self, *args, **kwargs)
- 总结
回顾
在之前的操作过程中,提到了运算符分别是+、-、*、/、%、//、** 。下面分析一下其中比较难理解的两个 % 和 //
number = 9%2;
print(number)number = 9//2;
print(number)
首先来分析一下上面两个运算的结果
做一个简单的分析对于%来讲取到的结果是1,对于// 来讲取到的结果是4
补充
那么除了上面的提到的一些运算符,对于字符串或者其他类型的数据,还有两个操作
in 表示包含在里面
not in 表示不包含在里面
下面就通过字符串操作来测试一下上面这两个操作。下面这段代码表示要给字符串,在其他语言中都有一个概念就是字符的概念,那么在Python中没有字符的概念,将所有引号引起来的东西都称为是字符串。
name = "我是大帅哥"
在Python中使用in,not in表示这个字符串是否在其中。
if "我" in name:print("OK")
else:print("ERROR")
结果OK
if "倪辉" in name:print("OK")
else:print("ERROR")
结果ERROR
if "我是大" in name:print("OK")
else:print("ERROR")
结果OK
if "我大" in name:print("OK")
else:print("ERROR")
结果ERROR
通过上面的结果可以得出一个结论,字符串的子序列才能被in 测试包含在字符串中,如果是逆序或者是其他顺序的话则表示不包含。
not in 正好表示相反的操作。
运算符
引入新的数据类型 布尔值(bool)
布尔值,只有两个值真或者假。如果是真的时候表示为TRUE,假的时候用FALSE表示。如下表示一个死循环。
while True:print("死循环")
if 1==1:print("1")
else:print("2")
if True:print("1")
else:print("2")
会发现上面两个结果运行的效果是一样的。也就是说IF后面的条件其实它的本质就是一个布尔值。不管最后的结果如何只要是一个TRUE或者是FALSE就可以。通过下面代码可以看到其实1==1 就是一个bool类型的数据。
v = 1==1;
print(type(v))
判断条件
v = 1==1;
print(v);v = 1>1;
print(v);v = 1<1;
print(v);v = 1>=2;
print(v);v = 3<=1;
print(v);v = 1!=1;
print(v)
通过上面的判断条件可以知道,其实在任何条件下只要可是一个bool值的条件都可以用来做判断操作,判断操作所能出现的操作结果只能是 TRUE 或者是FALSE
除了上面的判断之外还有一个比较重要的点就是not,如果结果为TRUE,那么not TRUE就表示FALSE,如果结果为FALSE那么not FALSE就表示TRUE。
其实在Python中与其他语言一样有很多的运算符,主要有以下的一些
算数运算符(在之前的博客中总结过)
运算符 | 操作说明 |
---|---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取模 |
// | 取商 |
** | 幂运算 |
比较运算符
运算符 | 操作说明 |
---|---|
== | 等于 |
!= | 不等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
赋值运算符
运算符 | 操作说明 |
---|---|
= | 赋值运算 |
+= | 加法赋值运算 |
-= | 减法赋值运算 |
*= | 乘法赋值运算 |
/= | 除法赋值运算 |
%= | 取模赋值运算 |
//= | 取商赋值运算 |
**= | 幂赋值运算 |
逻辑运算符
运算符 | 操作说明 |
---|---|
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
成员运算符
运算符 | 操作说明 |
---|---|
in | 指定序列在其中 |
not in | 指定序列不在其中 |
在介绍Python的运算符的时候并没有介绍到对应的优先级。如果编写了一个复杂的运算操作,那么它的执行顺序就是从左到右,如果想按照自己的意愿去进行操作,那么就要使用到()。
user = "nihui"
pwd ="123"
v = user =="nihui" and pwd == "123" or 1==2 and pwd =="123123" and 1==1
print(v)
结果为TRUE
基本数据类型
数字(整数类型)(int)
在Python中,每一种数据类型都具有自己类型的操作功能,例如不同的角色实现实现不同的功能等,例如
a = 123;
v = a.bit_length()
print(v)
输出结果为7,表示所能使用的字节数有几位。可以看看如下的几个效果
a = 12;
v = a.bit_length();
print(v)
输出结果 4
a = 1;
v = a.bit_length();
print(v)
输出结果 1;
在Python3里面不管有多大的数字都使用int类型来表示,在Python2 中int是由一定的范围的,如果超过这个范围就会变为long(长整型),表示它所表示的范围是很长的。在Python3中所有的整型都是int类型
a = 111;
class int(object):在这个类中所有的操作函数都是表示的内容在所有整型中都是通用的。
int()
在之前的分享中出现过这样的一个问题。字符类型类型转换错误。
number = input("请输入一个数字:");
count = 0;
sum = 0;
while(count<=number):sum = sum+count;count=count+1;
print(sum)
运行上面的程序会发现报错了。
请输入一个数字:10
Traceback (most recent call last):File "/Users/nihui/PycharmProjects/Learn/day10/s2.py", line 68, in <module>while(count<=number):
TypeError: '<=' not supported between instances of 'int' and 'str'Process finished with exit code 1
为什么会报错就来解决一下,在输入结束之后做如下的一个操作
number = input("请输入一个数字:");
number = int(number)
count = 0;
sum = 0;
while(count<=number):sum = sum+count;count=count+1;
print(sum)
这就是int的作用将字符类型的数据转换为Int类型的数据。下面举一个比较简单的例子
a = "123" ## 字符串
b = int(a); ## 字符类型的数据转换为int类型
b = b+1000;
但是如果是下面这个样子的话是否可以转换呢?答案是否定的。这里转换的时候回出错
a = "123a" ## 字符串
b = int(a); ## 字符类型的数据转换为int类型
b = b+1000;
补充!在Python中可以使用type来判断对应数据类型是什么
注意
num = "0011"
a = int(num,base=2)
print(a)
通过上面这种方式可以设置数据类型转换。
bit_length() 表示当前数字二进制用位来表示
a = 12;
print(a.bit_length())
字符串(str)
任意以引号引起的数据被称为字符串,下面就来看看字符串中有那些操作
capitalize() 表示首字母大写
test = "nihui"
v = test.capitalize()
print(v)
casefold()与lower();
它两个都是用来将字母变为小写,但是casefold()功能更加强大,它对于任意的对应关系都可以转换为小写
test = "niHui"
v1 = test.casefold();
print(v1)
v2 = test.lower();
print(v2)
def center(self, width, fillchar=None)
对于函数操作来说,如果传入的参数带有等号的时候表示这个参数可以传入参数也可以不传入参数,但是如果没有等号的时候表示这个参数是必须传入的。
test = "nihui"
v = test.center(20);
print(v)
输出结果
test = "nihui"
//设置内容并居中显示
//第一个参数表示宽度
//第二个参数表示填充字符
v = test.center(20,"*");
print(v)
def count(self, sub, start=None, end=None)
表示从哪个位置开始查找对应的子字符串,如下,
test = "nihuinihui"
v = test.count("i")
print(v)
上面代码显示的结果是4,也就是表示字符串中出现 i 的次数。
def endswith(self, suffix, start=None, end=None)
表示这个字符串是以什么字符结尾
test = "nihui"
v= test.endswith("ui")
print(v)
def startswith(self, prefix, start=None, end=None)
表示字符串以什么字符串开头
test = "nihui"
v = test.startswith("n")
print(v)
def find(self, sub, start=None, end=None)
表示从开始向后查找,找到第一个匹配的字符串之后,就不再往后查找了。并且返回其存在的位置。如果需要指定位置,表示> 或者是>=
test = "nihuinihui"
v = test.find("ih")
print(v)
def index(self, sub, start=None, end=None)
表示查找对应的位置,但是这个函数如果找不到的话就会报错
test = "nihuinihui"
v = test.index("ui")
print(v)
def format(self, *args, **kwargs)
格式化,将一个字符串中的占位符,替换为指定的值,可以指定多个。
test = "I am {name}"
print(test)
v = test.format(name="nihui")
print(v)
测试结果
利用占位符的方式进行操作,按照顺序进行填充
test = "I am {0} ,age {1}"
v =test.format("nihui",24)
print(v)
def format_map(self, mapping)
与上面函数的作用是一样的,只不过在这里传入参数的时候需要传入一个字典。
test = "I am {name} , age {a}"
v = test.format_map({"name":"nihui","a":24})
print(v)
def isalnum(self, *args, **kwargs)
判断字符串中只是包含数字或者字母,都是字母或者都是数字都可以。
test = "sdfa289_"
v = test.isalnum();
print(v)
总结
到这里字符串的一部分操作已经总结完了,对于基本数据类型字符串的操作还有很多敬请期待。
Python精通-运算符与基本数据类型(一)相关推荐
- Python精通-运算符与基本数据类型(三)
导语 在之前的博客分享中提到了关于字符串的一些内部函数的使用,这篇博客来总结下在Python中对于字符串的其他的操作. 文章目录 回顾 字符串扩展操作 索引下标 索引范围 len()函数 join ...
- Python精通-运算符与基本数据类型(二)
导语 在上一篇博客中总结了一些字符串常用操作,接下来的分享还是基于字符串的操作. 文章目录 回顾 新内容开始 字符串操作 1. def expandtabs(self, *args, **kwar ...
- Python基础(二)--数据类型,运算符与流程控制
目录 Python基础(二)--数据类型,运算符与流程控制 1 数据类型 1.1 Python中的数据类型 1.2 整数类型(int) 1.3 布尔类型 1.4 浮点类型 1.5 复数类型 1.6 类 ...
- 【Python】Python实战从入门到精通之一 -- 教你深入理解Python中的变量和数据类型
本文是Python实战–从入门到精通系列的第一篇文章: Python实战从入门到精通之一 – 教你深入理解Python中的变量和数据类型 文章目录 1.变量 1.1 变量命名规则 1.2 变量名称错误 ...
- python中变量,Python中的变量、数据类型、运算符
Python第四课 Python中的变量.数据类型.运算符 Hello,小伙伴们,今天我们来聊一聊Python里面的变量.数据类型.运算符. 一. 变量:什么是变量呢? 我们来看这样一个例子:李四在银 ...
- python的基本语法、数据类型、运算符及基本操作_Python教程基础语法、变量基本使用和算术运算符...
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 · 变量定义 · 变量的类型 · 变量的命名 01. 变量定义 · 在 Python 中,每个变量 在使用前都必须赋值,变量 赋 ...
- Python精通-Python学习路线详细介绍
导语 自从上次说完Python学习路线之后就再也没有更新过关于Python的东西,那么从这篇博客开始将对整个的Python技术栈开启以场全面的旅途,更其他系列一样,博主会不定期的更新关于Pytho ...
- 从零开始学 Python 之运算符
从零开始学 Python 之运算符 前言 大家好,这里是「痴海」从零开始学习 Python 系列教程.此文首发于「痴海」公众号,欢迎大家去关注.学习一门语言最好的办法,就是教懂别人.在这公众号,我会从 ...
- Python的零基础超详细讲解(第五天)-Python的运算符
往期文章 Python的零基础超详细讲解(第一天)-Python简介以及下载_编程简单学的博客-CSDN博客 Python的零基础超详细讲解(第二天)-Python的基础语法1_编程简单学的博客-CS ...
最新文章
- ipmitool 设置网关_IPMI (Intelligent Platform Management Interface)
- 关于信用管理--信用更新
- 腾讯TBS加载网页无法自适应记录
- GDB分析PHP连接Memcached 导致coredump问题
- MongoDB Array Query Operators
- 基于相关系数的影像匹配_论文推送 | 基于最优匹配算法的像控点电子点之记制作研究...
- java 删除zk节点_zookeeper 的节点删除不了?
- 微信小程序-image(图片)
- 【IoT】产品设计:贴片电子电容封装类型:0202封装、0402封装、0603封装、0805封装、1206封装、1210封装、1812封装、2010封装、2512封装
- 用于交通流预测的时间多图卷积网络
- android 时钟翻转,旋转时钟游戏
- 平面几何常用定理、结论总结 第一篇	三角形及其引线、引圆
- 本体技术视点 | 为什么 BIP - 340 选择引入 Schnorr 签名算法?
- Source Insight 常用颜色代表种类
- C++ 方格稿纸(paint)
- C2 - Pokémon Army (hard version)(思维+差分/线段树+dp)详解
- 笔记:STM32——PWM波形生成以及控制电机
- Canvas响应 -岛岛还存活在代码的第79天-
- Prolog系列学习-1
- java 伪造邮箱地址_java如何实现伪造发信地址---针对于邮件攻击