首页 > 编程语言 >【从零学习python 】05. Python中运用算数运算符进行计算和字符串拼接

【从零学习python 】05. Python中运用算数运算符进行计算和字符串拼接

时间:2023-10-20 16:03:25浏览次数:45  
标签:转换 05 python str1 运算符 int 字符串 print bool

进制

现代的计算机和依赖计算机的设备里都用到二进制(即0和1)来保存和表示数据,一个二进制表示一个比特(Bit)。

在二进制的基础上,计算机还支持八进制和十六进制这两种进制。

除了计算机里的进制以外,我们生活中经常用到的是十进制。

Python语言支持二进制、八进制、十六进制以及十进制的数字表示。

a = 12 # 默认数字是十进制
print(a + 1)

b = 0b11101   # 以0b开头的数字是二进制
print(b + 1)

c = 0o12  # 以 0o 开头的数字是八进制
print(c + 1)

d = 0x1A  # 以 0x 开头的数字是十六进制
print(d + 1)

进制转换

不同进制的数字之间可以通过一定的计算规则相互转换。

类型转换

函数 说明
int(x [,base ]) 将x转换为一个整数
float(x) 将x转换为一个浮点数
str(x) 将对象 x 转换为字符串
bool(x) 将对象x转换成为布尔值

转换成为整数

print(int("123"))  # 123 将字符串转换成为整数

print(int(123.78))  # 123 将浮点数转换成为整数

print(int(True))  # 1 布尔值True转换成为整数是 1
print(int(False)) # 0 布尔值False转换成为整数是 0

# 以下两种情况将会转换失败
'''
123.456 和 12ab 字符串,都包含非法字符,不能被转换成为整数,会报错
print(int("123.456"))
print(int("12ab"))
'''

# 使用int()函数进行类型转换时,还可以传入两个参数,第二个参数用来表示进制。
print(int("21",8))  # 输出的结果是17.八进制的21,对应的十进制数字是17
print(int("F0",16)) # 输出的结果是240.十六进制的F0,对应的十进制数字是240

"""
以下写法会报错。八进制里允许的最大值是7,所以 29 不是一个合法的八进制数
print(int("29",8))
"""

转换成为浮点数

f1 = float("12.34")
print(f1)   # 12.34
print(type(f1)) # float 将字符串的 "12.34" 转换成为浮点数 12.34

f2 = float(23)
print(f2)  # 23.0
print(type(f2)) # float 将整数转换成为了浮点数

转换成为字符串

str1 = str(45)
str2 = str(34.56)
str3 = str(True)
print(type(str1),type(str2),type(str3))

转换成为布尔值

print(bool(''))
print(bool(""))
print(bool(0))
print(bool({}))
print(bool([]))
print(bool(()))
print(bool(None))

在python中,只有空字符串'',"",数字0,空字典{},空列表[],空元组(),和空数据None会被转换成为False,其他的都会被转换成为True。

算数运算符

下面以a=10 ,b=20为例进行计算。

  • +:加法,将两个对象相加。例如,a + b 的结果为 30。
  • -:减法,得到负数或一个数减去另一个数。例如,a - b 的结果为 -10。
  • *:乘法,将两个数相乘或返回一个被重复若干次的字符串。例如,a * b 的结果为 200。
  • /:除法,返回除法的结果。例如,b / a 的结果为 2。
  • //:取整除,返回商的整数部分。例如,9 // 2 的结果为 4,9.0 // 2.0 的结果为 4.0。
  • %:取余,返回除法的余数。例如,b % a 的结果为 0。
  • **:指数,返回指数运算的结果。例如,a ** b 的结果为 10 的 20 次方,即 100000000000000000000。
  • ():小括号,用于提高运算的优先级。例如,(1 + 2) * 3 的结果为 9。

注意:混合运算时,优先级顺序为: ** 高于 * / % // 高于 + - ,为了避免歧义,建议使用 () 来处理运算符优先级。 并且,不同类型的数字在进行混合运算时,整数将会转换成浮点数进行运算。

10 + 5.5 * 2  # 输出结果 21.0
(10 + 5.5) * 2  # 输出结果 31.0

算数运算符在字符串里的使用

如果是两个字符串做加法运算,会直接把这两个字符串拼接成一个字符串。

str1 ='hello'
str2 = 'world'
str1+str2  # 输出结果 'helloworld'

如果是数字和字符串做加法运算,会直接报错。

str1 = 'hello'
a = 2
a+str1   # 报错 TypeError: unsupported operand type(s) for +: 'int' and 'str'

如果是数字和字符串做乘法运算,会将这个字符串重复多次。

str1 = 'hello'
str1*10  # 输出结果 'hellohellohellohellohellohellohellohellohellohello'

标签:转换,05,python,str1,运算符,int,字符串,print,bool
From: https://blog.51cto.com/u_14522592/7955307

相关文章

  • python实现可视化的MD5、sha256哈希加密小工具
    python实现可视化的MD5、sha256哈希加密小工具,分享给大家,具体如下:效果图:刚启动的状态超过十条不全量显示importhashlibimporttkinterastk#窗口控制windowss=tk.Tk()windowss.title('Python_md5')#窗口title,并非第一行windowss.geometry('820x550')windowss.res......
  • 深入理解 Python 虚拟机:进程、线程和协程
    深入理解Python虚拟机:进程、线程和协程在本篇文章当中深入分析在Python当中进程、线程和协程的区别,这三个概念会让人非常迷惑。如果没有深入了解这三者的实现原理,只是看一些文字说明,也很难理解。在本篇文章当中我们将通过分析部分源代码来详细分析一下这三者根本的区别是什......
  • 使用Python指定列提取连续6位数据的单号(上篇)
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【哎呦喂 是豆子~】问了一个Python数据提取的问题,一起来看看吧。大佬们请问下 指定列提取连续6位数据的单号(该列含文字、数字、大小写字母等等),连续数字超过6位、小于6位的数据不要,这个为啥有的数据可以提取有的就提......
  • Python高频面试题——如何在字符串中删除指定字符,掌握strip()、replace()和re.sub ()
    关于python删除字符串是面试python测试开发工程师的一个经典问题。问题很简单,但是一下子就能测试出来被面试者是否能够熟练的进行python相关编码工作!对于有些临时抱佛脚的同学来讲,一看删除,很自然就说用remove、del相关方法,听到这里,就知道面试者根本不知道这个答案啦!因为对于这个问......
  • Python-操作kerberos验证的kafka
    本笔记为python操作kerberos认证的kafka的操作方法,此仅记录作为使用者,连接客户提供的kafka并进行操作的流程。1、依赖安装:python相关依赖库:pip3installkafka-pythonpip3installgssapi系统(镜像):需要安装kerberos的客户端进行验证对于mac:brewinstallkrb5对于Debian或Ub......
  • [922] Implementation of zooming to selected features by Python
    ref:ArcPy.mpGetSelectedFeaturesExtentref:Python/ArcPyclasses/Geometry#Setthepathtoyourprojectfile(.aprx)project_file=r"Map1.3Heritage.aprx"#Referencetheprojectaprx=arcpy.mp.ArcGISProject(project_file)#getthe......
  • Python + Selenium + Firefox 使用代理 auth 的用户名密码授权
    Python+Firefox+插件(closeproxy.xpi)其中,closeproxy.xpi文件,需要Google、Bing搜下都能搜到下载地址完整的测试代码如下: fromseleniumimportwebdriverfromselenium.webdriver.firefox.firefox_binaryimportFirefoxBinaryfromselenium.webdriver.common.proxyimp......
  • 05_基本放大电路
    基本放大电路电容C1和C2起到隔直通交的作用,隔绝UCc的直流电,保留Es和Uo的交流电Ucc为电路供电,使三极管大Ube>0.7V,防止进入截止区各器件的取值范围Uce为什么会被反相会出现的情况Q点与Rb的关系Q点与Vcc的关系Q点与Rc的关系不足解决方案加电容C......
  • 关于Python的打包与编译
    1、nuitka编译成一个so文件nuitka3--module--include-module=target_file_or_dirtarget_file_or_dir2、compileall编译成pycpython3-mcompileall-b<dir>#删除相关的py文件find<dir>-name'*.py'-typef-print-execrm{}\;3、bdist_wheel打包whl文......
  • Python3+selenium3+Firefox 设置浏览器headless模式运行+下载文件
    设置Firefoxheadless模式   defsetUp(self):#Firefoxheadless模式运行options=webdriver.FirefoxOptions()options.add_argument('-headless')self.driver=webdriver.Firefox(options=options)self.driver.implicitly_wait(30)......