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

【python】编码、输入、数据类型

1、编码(可以理解为密码本,即:数据与0/1组合的对应关系)

计算机中所有的数据本质上都是以0和1的组合来存储

上述文件中的内容在计算机中会将中文转换成0和1的组合,最终存储到硬盘上。

在计算机中有这么一个编码的概念(编码类似于:密码本)

例如:齐这个汉字对应的0和1组合分别为:

齐  ->11111111    00000000  010101010

在计算机中有很多种编码。

每种编码都有自己的一套密码本,都维护着自己的一套规则,如:
utf-8编码:

齐  ->11111111    00000000  010101010

GBK编码:

齐->00110011    10101010


所以,使用不同的编码保存文件时,硬盘的文件中存储的0和1的组合也是不同的。

注意事项:以某个编码的形式进行保存文件,以后就要以这种编码去打开这个文件,否则就会出现乱码。

例如:
以utf-8编码去保存:齐  11111111    00000000  010101010
以GBK的形式打开:会出现乱码现象

2、编程初体验(编码)

(1)编码必须要:保存.py文件和打开.py文件的编码方式要一致,否则会乱码。

(2)python解释器是以UTF-8的形式打开.py文件。

(3)pycharm的编码方式默认是UTF-8.

(4)建议:所有python代码文件都要以UTF-8编码保存和读取。

 

# -*- coding:gbk  -*-
# 上述代码作用是:告诉python解释器以GBK的形式打开.py文件
print("haiha")

3、输出(print(...))

作用:将结果或内容呈现给用户。

在创建.py文件时,给文件命名一般用英文命名。

print("我爱她,轰轰烈烈")

结果:

 关于输出:

(1)默认情况下,print默认会加换行符。

print("我爱她,轰轰烈烈")
print("我想你了")

  结果:

(2)想要不换行,则可以这样干。  

print("我爱她,轰轰烈烈",end="") #end='',双引号中的值表示前面的内容输出之后,后面紧跟着什么。
print("我想你了",end="")

结果:

练习题:

1、使用print输出:

春眠不觉晓,

处处闻啼鸟。

夜来风雨声,

花落知多少。

print("春眠不觉晓,")
print("处处闻啼鸟。")
print("夜来风雨声,")
print("花落知多少。")

 

2、使用print输出:

春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少。

print("春眠不觉晓,",end="")
print("处处闻啼鸟。",end="")
print("夜来风雨声,",end="")
print("花落知多少。",end="")

4、数据类型的引入

4.1整型(int)

整型即:整数。

print(10)
print(20*2)# 乘法
print(20/3)
print(20%2)#求余数
print(2**4)#幂,2的4次方
print(2+10)#先计算2+10==12,然后再print(12)

结果:

4.2字符串(str)

字符串中的内容要用英文状态的单引号(' ')或英文状态下的双引号(" ")或英文状态下的三双引号或英文状态下的三单引号括起来。

双引号,单引号适用于:单行字符串

三双引号,三单引号适用于:多行字符串

4.2.1单引号,双引号

print("hello world")
print('hi, nice to meet you')

如果字符串中有双引号,则该字符串要用单引号括起来。

print('hello " nihao')

如果字符串中有单引号,则该字符串要用双引号括起来。

print(' hi " luci')

4.2.2三单引号,三双引号

print("""春眠不觉晓,
处处闻啼鸟。
夜来花语声,
花落知多少。
""")

结果:

print('''我自横刀向天笑,
有人不识君
''')

 结果:

如果字符串中有三双引号,则字符串要用三单引号括起来

print('''我自横刀向天笑""",
有人不识君
''')

 如果字符串中有三单引号,则字符串要用三双引号括起来

print(""" 
人生得意须尽欢''',
快哉""")

4.2.3字符串支持的算术运算:加(+),乘(*)

加:两个字符串可以通过加号拼接起来

print("我喜欢你,"+"你喜欢我吗?")

结果:

乘:让整型和字符串进行想乘,以实现让字符串重复重现N次并拼接起来。  

print(3*"我爱她,轰轰烈烈。")

结果:

4.3布尔类型(bool)

 布尔类型共有两个值:True(代表:真)/False(代表:假),布尔类型一般用于判断.

print(1 > 2)
print(False)
print(1 == 1)
print(True)

结果:

补充:

(1)整型之间可以进行比较:

例如:1>3;1==2;1<2

(2)字符串之间可以用==比较是否相等

例如:“peter"=="tony"

(3)整型可以与字符串用==比较是否相等

例如:1=="tony"

(4)但整型与字符串之间是不能用>,<等符号进行比较

例如:1>"tony";不能进行比较,会报错

print(1>"peter")

结果:

4.4类型转换  

上述数据类型int/str/bool有了初步了解,他们都有自己不同的定义方式

(1)int,整型定义时,必须是数字且无引号,例如:5,8,9

(2)str,字符串定义时,必须用引号括起来,例如:"中国",”66“

(3)bool,布尔定义时,只能写:True和False

不同的数据类型都有不同的功能,例如:整型可以加减乘除而字符串只能加(拼接)和乘法

如果想要做转换可遵循一个基本原则:想转换什么类型就让它包裹一下。

例如:str(666)是将整型转换为字符串:“666”;int("888")是将字符串转换为整型:888

(1)字符串转换为整型:

print(int('1255'))  # int('1255')转换为整型:1255
print('6' + '9')  # 字符串拼接
print(int('6') + int('9'))

结果:

(2)布尔类型转换为整型

print(int(True))
print(int(False))

结果:

(3)整型转换为字符串

print(str(345))#‘345’
print(str(666)+str(9)) #'666'+'9'=='6669'

 结果:

(4)布尔类型转换为字符串  

print(str(False))#‘False’
print(str(True))#'True'

结果:

(5)整型转换为布尔类型  

print(bool(1))
print(bool(25))
print(bool(0))

结果:

(6)字符串转换为布尔类型

非空字符串转化为布尔类型为:True;空字符串转换为布尔类型为:False

print(bool(''))
print(bool(' '))
print(bool('afa'))

 结果:

(7)三句话搞定类型转换:

(1)其他所有类型转换为布尔类型时,除了空字符串(即:字符串中的内容什么也没有,也可以说成是字符串的长度为0)、0(零)以外其他都是True。

(2)字符串转整型时,只有字符串中的内容都是数字时才可以转换为整型,其他情况都报错。

(3)想要转换为哪种类型,就用这种类型的英文包裹一下。

str(...)
int(...)
bool(...)

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

相关文章:

  • CCF CSP 第36次(2024.12)(2_梦境巡查_C++)
  • 本地部署ai图片转生成视频,一键运行包的制作教程。
  • 调制器的噪声传递函数(NTF)的零极点配置对其性能的影响
  • L38.【LeetCode题解】四数之和(双指针思想) 从汇编角度分析报错原因
  • C++11中的std::condition_variable
  • 深度学习中的概念——元素积(哈达玛积)
  • Skipped breakpoint at ... because of stepping in another thread问题分析
  • 制造企业PLM深度应用:2025年基于PDCA循环的7项持续改进指标
  • 2025年Q2(桥式)起重机司机题库考试精选题
  • 高级java每日一道面试题-2025年4月13日-微服务篇[Nacos篇]-Nacos如何处理网络分区情况下的服务可用性问题?
  • AI的出现,是否能替代IT从业者?
  • 电子电器架构 --- OEM企标中规定ECU启动时间的目的
  • 第七篇:系统分析师第三遍——1、2章
  • 【Spring Boot】把jar包导入本地系统
  • C#获取当前方法的命名空间、类名称、方法名称以及方法的参数信息
  • 【前端HTML生成条形码——MQ】
  • DeepSeek深度观察:白宫“炒人“威胁的语义强度与市场应激量化分析
  • 【Unity】使用Cinemachine+CharacterController实现第三人称视角下的角色视角、移动和跳跃控制
  • Maven与Springboot创建
  • Qt QThread 两种线程管理方法
  • 通信算法之269 : OFDM信号的循环自相关特性用于无人机图传信号识别
  • Ethernet/IP转ProfiNet边缘计算网关在能源管理中的应用:跨系统数据聚合与智能分析
  • (7)VTK C++开发示例 --- 使用交互器
  • 英伟达A100、H100、H800性能详细对比
  • 4.18日学习--引用
  • 记一次bat脚本的坑:中文注释导致脚本不能运行
  • 【无标题】作业
  • 不确定与非单调推理的基本概念
  • 新书速览|DeepSeek移动端AI应用开发:基于Android与iOS
  • win11系统截图的几种方式