当前位置: 首页 > ai >正文

Python基础入门

一、数据类型

数值型

1、整数类型

num=987 # 默认十进制,表示整数
num2=0b1010101 #使用二进制表示整数
num3=0o765 #使用八进制表示整数
num4=0x87ABF # 使用十六进制表示整数
print(num)
print(num2)
print(num3)
print(num4)

2、浮点数类型

height=187.6  # 身高
print(height)
print(type(height)) # 查询height的数据类型x=10
y=10.0
print('x的数据类型是:',type(x))
print('y的数据类型是:',type(y))
print('------------------------')
# 浮点数不确定的尾数问题
print(0.1+0.2) # 0.30000000000000004print(round(0.1+0.2,1))  # 保留1位小数

3、复数

# 复数类型在科学计算中十分常见
x=123+456j
print('实数部分:',x.real)
print('虚数部分:',x.imag)

字符串

# 单行字符串
city='北京'
address="北京市海淀区海淀文教产业园"
print(city)
print(address)print('------------------')
#多行字符串
info='''地址:北京市海淀区海淀文教产业园
收件人:杨淑娟
手机号:18600000000'''
print(info)info2="""地址:北京市海淀区海淀文教产业园
收件人:杨淑娟
手机号:18600000000"""
print('------------------')
print(info2)

        转义字符也是字符串类型,只不过是一种特殊的字符串,由反斜杠符(\)和它后面相邻的一个字符组合而成,用于表达一个新的含义,如“\n”表示换行操作。

print('北京')
print('欢迎你')print('------------------')
print('北京\n欢迎你') # 遇到\n即换行,可连接续换多行
print('北\n京\n欢\n迎\n你')
print('------------')
print('北京北京\t欢迎你')
print('hellooooo')
print('--------------------')
print('老师说:\'好好学习,天天向上\'')
print('老师说:\"好好学习,天天向上\"')print(r'北\n京\n欢\n迎\n你')
print(R'北\n京\n欢\n迎\n你')

        字符串又被称为有序的字符序列,对字符串中某个字符的检索称为索引,对于一个长度为N的字符串,正向检索的序号有效范围为[0,N-1],反向递减的序号有效范围为[-1,-N]

s='HELLOWORLD'
print(s[0],s[-10]) # 序号0和序号码0表示的是同一个字符print('北京欢迎你'[4])
print('北京欢迎你'[-1])print('---------------------')
print(s[2:7])  # 正向递增序列
print(s[-8:-3]) # 反向递减序列
#N默认从0开始
print(s[:5])#M 默认,是切到字符串的结尾
print(s[5:])

x='2022年'
y='北京冬奥会'
print(x+y)  # 拼接字符串x与y
print(10*x) # x字符串的内容输出10次
print(x*10)print('北京' in y) #‘北京’是否是 “北京冬奥会”的子字符串
print('上海' in y)

布尔类型

x=True
print(x)
print(type(x))
print(True+10) # 1+10
print(False+10) # 0+10print('-----------------------------')
# 测试对象的bool值
print(bool(18))  #True
print(bool(0),bool(0.0)) #False
# 总结, 非0的数值型布尔值都为True,
print(bool('北京欢迎你')) #True
print(bool('')) #空字符串的布尔值为False
print(bool(False))
print(bool(None))

二、数据类型之间的转换

        print(True+10)的输出结果为11,True是布尔类型,10是整数类型,结果11是整数类型,所以在这里发生了一个隐式类型的转换,将布尔类型转换成了整数类型参与加法运算。通过数学运算也可以隐式的将整数类型转成浮点数类型,比如3+4.14结果为7.14。除了这种隐式的类型转换,还可以通过内置的函数进行显示的类型转换,比如说将字符串类型转换成整数类型等。

x=10
y=3
z=x/y # 在执行除法运算,将运算的结果赋值给z
print(z,type(z)) # 隐式转换, 通过运算隐式的转了结果的数据类型# float类型转换成int类型,只保留整数部分
print('float类型转换成int类型',int(3.14))
print('float类型转换成int类型',int(3.9))
print('float类型转换成int类型',int(-3.14))
print('float类型转换成int类型',int(-3.9))# 将int类型转换成float类型
print('将int类型转换成float类型',float(10))#将str类型转成int类型
print(int('100')+int('200'))#将str类型转成float类型
print('将str类型转成float类型',float('3.14'))#将str转成int或float类型报错的情况
#print(int('18a')) #ValueError: invalid literal for int() with base 10: '18a'
#print(int('3.14')) #ValueError: invalid literal for int() with base 10: '3.14'#将str转成float类型报错的情况
#print(float('45a.987')) #ValueError: could not convert string to float: '45a.987'#chr()与ord()函数
print(ord('杨')) #26472 ,将字符“杨”转成对应的整数 值
print(chr(26472)) #杨  将整数 值转成对应的字符# 进制之间的转换操作 十进制与其它进制之间的转换
print('十进制转成十六进制:'+hex(26472))
print('十进制转成八进制:'+oct(26472))
print('十进制转成二进制:'+bin(26472))

        在将str类型转换成int或float类型的时候会有一些报错的情况,在待转化的字符串中含有非数字的情况转换结果将抛出异常,如示例3-12中print(int(‘18a’)),在字符串”18a”中有一个非数字的字符a,那么转换将无法进行,抛出一个ValueError的异常。print(float('45a.987'))同样转换失败,因为字符串”45a.987中含有一个非数字的字符a”。

在数字串”3.14”转换成int类型时同样抛出ValueError的异常,因为数字串”3.14”实际上是一个非整数的数字串,所以无法转换int类型。

eval函数

        eval()函数是Python中的内置函数,用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引号后的字符串。

语法格式:

变量=eval(字符串)

        eval()函数经常和input()函数一起使用,用来获取用户输入的数值型。eval()函数的使用如示例3-13,运行效果如图3-15所示。

s='3.14+3'
print(s,type(s))
x=eval(s)   # 执行了加法运算
print(x,type(x))#eval()函数经常和input()函数一起使用,用来获取用户输入的数值型
age=eval(input('请输入您好的年龄:'))  #将字符串类型转成了int类型,相当于int(age)
print(age,type(age))height=eval(input('请输入您的身高:')) #将字符串类型转成了float类型,相当于 float(height)
print(height,type(height))
#hello='北京欢迎你'
#print(hello)
#使用eval报错的情况
print(eval('hello')) #NameError: name 'hello' is not defined. Did you mean: 'help'?

三、运算符

算术运算符

赋值运算符

比较运算符

逻辑运算符

运算符的优先级

http://www.xdnf.cn/news/6096.html

相关文章:

  • 文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
  • 机器学习入门案例:鸢尾花分类与AI辅助
  • 机器人示教操作
  • 微型PCB打样厂家选型指南
  • 全局优化搜索高次方程的解
  • C++学习之打车软件git版本控制
  • RabbitMQ 快速上手:安装配置与 HelloWorld 实践(二)
  • 【SSL证书系列】客户端如何验证https网站服务器发的证书是否由受信任的根证书签发机构签发
  • 【原创】使用阿里云存放一个临时共享的文件
  • FunASR:语音识别与合成一体化,企业级开发实战详解
  • 论MCU如何在Fatfs中使用Flash接口的方法
  • 前端面试每日三题 - Day 34
  • 白盒测试——基本路径测试法
  • copy_paste
  • 如何实现一个运动会计分系统?(C语言版)
  • 高速系统设计实例设计分析二
  • Java—类与对象(一)
  • LLM(大语言模型)部署加速方法——PagedAttention
  • c# 倒序方法
  • 【Java】 volatile 和 synchronized 的比较及使用场景
  • 【RabbitMQ】路由模式和通配符模式的具体实现
  • 嵌入式培训之数据结构学习(三)gdb调试
  • dify 连接不上ollama An error occurred during credentials validation:
  • gitlab提交测试分支的命令和流程
  • HCIP(BFD)
  • Linux——CMake的快速入门上手和保姆级使用介绍、一键执行shell脚本
  • 硬盘序列号(SN码)4种常用查询方法分享
  • Java基础之静态代理和动态代理
  • ValueError: 4 columns passed, passed data had 51141 columns解决
  • 【消息队列】RabbitMQ基本认识