Python入门(4)语法、变量和标识符、数据类型、字符串、布尔值、类型检查、对象、类型转换、运算符

Python入门(4)

目录

  • Python入门(4)
    • 一、几个基本概念
      • 1、表达式
      • 2、语句
      • 3、程序(program)
      • 4、函数(function)
        • 4.1 函数的分类
          • 内置函数:
          • 自定义函数
        • 4.2函数的两个要素
          • 参数
          • 返回值
    • 二、基本语法
    • 三、变量和标识符
      • 1、变量
      • 2、标识符
        • 规范
    • 四、数据类型
      • 1、整数
      • 2、浮点数
    • 五、字符串
      • 1、概念
      • 2、长字符串
      • 3、转义字符
      • 4、格式化字符串
        • 拼串
        • 多个参数
        • 占位符
        • 格式化字符串(format)
      • 5、字符串复制(将字符串和数字相乘)
    • 六、布尔值(bool)和空值(None)
        • 布尔值
        • 空值
    • 七、类型检查(type函数)
    • 八、对象(object)
      • 1、介绍
      • 2、结构
        • id--标识
        • type--类型
        • value--值
      • 3、变量和对象
    • 九、类型转换
      • 1、int()
        • 规则
      • 2、float()
      • 3、str()
        • 规则
      • 4、bool()
        • 规则
    • 十、运算符(操作符)
      • 1、算术运算符
      • 2、赋值运算符
      • 3、关系运算符(比较运算符)
      • 4、逻辑运算符
      • 5、非布尔值的逻辑运算符
      • 6、条件运算符(三元运算符)
      • 7、运算符的优先级

一、几个基本概念

1、表达式

类似于数学公式,仅用于计算结果,不会对程序产生实质性影响

2、语句

在程序中语句一般需要完成某种功能,比如打印信息,获取信息,为变量赋值等。
语句的执行一般会对程序产生一定影响。
在交互模式中不一定会输出语句的执行结果

3、程序(program)

程序由语句和表达式构成。

4、函数(function)

函数就是一种语句,用来完成特定的功能。

4.1 函数的分类

内置函数:
由python解释器提供的函数,可以在python中直接使用
自定义函数
由程序员自主创建的函数

当需要完成某个功能时,可以调用内置函数

4.2函数的两个要素

参数
 ()中的内容就是函数的参数
 函数中可以没有参数,也可以有多个参数,多个参数之间用`,`隔开
返回值
返回值是函数的返回结果,不是所有的函数都有返回值

二、基本语法

1、python中严格区分大小写
2、每一行都是一条语句,每条语句以换行结束
3、每一行语句不要过长,建议每一行不要超过80个字符
4、一条语句可以分多行编写,语句后边以\结尾
5、缩进严格
6、使用#来表示注释,一般#后会加一个空格,快捷键ctrl+/

三、变量和标识符

1、变量

pyhton中使用变量不需要声明,直接为变量赋值
不能使用没有进行赋值的变量
python是动态类型的语言,可以为变量赋任意类型的值,也可以任意修改变量的值

2、标识符

所有可以自主命名的都属于标识符,比如变量名、函数名、类名等

规范

1.标识符中可以含有字母、数字、_(下划线),但是不能使用数字开头
2.标识符不能是python中的关键字和保留字,也不建议使用函数名作为标识符
3.命名规范
下划线命名法:
所有字母小写,单词之间使用_分割
帕斯卡命名法(大驼峰):
首字母大写,每个单词开头字母大写,其余字母小写

四、数据类型

数据类型就是变量的值的类型。
数值分为:整数,浮点数(小数),复数

1、整数

所有整数都是int类型
整数的大小没有限制,可以无限大
如果数字长度过大,可以使用_做分隔符
10进制的数字不能以0开头

其他进制的整数,数字打印时的形式一定是十进制:
二进制 0b开头
八进制 0o开头
十六进制 0x开头

可以通过运算符对数字进行运算,并且可以保证整数运算的精确

2、浮点数

所有小数都是float类型
对浮点数进行运算时,可能会得到不太精确的结果

五、字符串

1、概念

字符串用来表示一段文本信息,时程序中使用最多的数据类型
字符串需要使用引号“”引起来,不使用就不是字符串
引号可以是单引号,也可以是双引号,但不能混用
相同的引号之间不能嵌套

单引号和双引号不能跨行使用,可以使用\换行,但打印时不保留跨行格式

2、长字符串

使用三重引号来表示一个长字符串'''"""
三重引号可以换行,并且保留字符串中的跨行格式

'''abd
abd
abf'''

3、转义字符

使用\作为转义字符

s = "曰:\"你好\""

’ ----- ’
" ----- "
\t ----- 制表符即tab
\n ----- 换行符
\ ----- 反斜杠(两个\输出一个\)
\uxxxx ----- unicode编码

s = '\u0040'

4、格式化字符串

以此为例:

name = lee

拼串

字符串之间可以进行加法
两个字符串相加,会拼接成一个
字符串只能和字符串拼接,不能和其他类型进行加法运算

print('欢迎 ' + name + ' 光临')       ##注意空格

多个参数

print('欢迎', name ,'光临')

占位符

在创建字符串时,可以在字符串中指定占位符
%s在字符串中表示任意字符
%d ----- 整数占位符
%f ------ 浮点数占位符

a = 'hello %s 你好 %s' % ('tom','孙悟空') 
b = 'hello%3s' % 'ab'	#指定长度时,字符串不够使用空格补齐
c = 'hello%3s' % 'abcdef'
d = 'hello%3.5s' % 'abcdefg'	#最少三个,最多五个
print('欢迎 %s 光临' %name)

格式化字符串(format)

格式化字符串,可以通多在字符串前加一个f来创建一个格式化字符串
在格式化字符串中可以直接嵌入变量

a = lee
b = tom
c = f'hello {a} {b}'

在这里插入图片描述

print(f'欢迎 {name} 光临')

5、字符串复制(将字符串和数字相乘)

将字符串和数字相乘,会将字符串重复指定的次数并返回

六、布尔值(bool)和空值(None)

布尔值

布尔值主要用来做逻辑判断
布尔值有两个值:True,False
布尔值实际上属于整型,True = 1,False = 0

空值

None表示不存在

七、类型检查(type函数)

通过类型检查,只能检查变量对应的值的类型
type()用来检查值的函数
该函数会将检查的结果作为返回值返回,可以通过变量来接收函数的返回值

c = type('123')

八、对象(object)

1、介绍

python是一门面向对象的语言
一切都是对象
程序运行当中,所有的数据都是存储在内存中再运行的
对象就是内存中专门用来存储指定数据的一块区域
对象实际上就是一个容器,专门用来存储数据
数值、字符串、布尔值、None等都是对象

2、结构

每个对象中都要保存三种数据
在这里插入图片描述

id–标识

id用来标识对象的唯一性,每一个对象都有唯一的id
可以通过id()函数来查看对象的id
id是由解析器生成的,在Cpython中,id就是对象的内存地址
对象一旦创建,id则不能再改变

type–类型

类型用来表示当前对象所属的类型
比如int、str、float等
类型决定了对象的功能
python是一门强类型语言,对象一旦创建,不能修改
通过type()函数查看对象的类型

value–值

值就是对象中存储的具体数据
对于有些对象,值是可以改变的
对象分为两大类:可变对象和不可变对象

比如,123
id = 0x1211(举例)type = <class 'int'> ,value = 123

3、变量和对象

对象并没有直接存储在变量中,在Py中,变量更像是对象的别名。
变量中存储的不是对象的值,而是对象的id(内存地址)
使用变量时,实际上是在通过对象id查找对象。
在这里插入图片描述

当存在两个变量相等时:
在这里插入图片描述

当第一个变量改变其值,不会影响到另一个变量:
在这里插入图片描述
变量中保存的对象,只有在为变量重新赋值时才会发生改变
变量和变量之间是相互独立的,修改一个变量不会影响另一个变量。

九、类型转换

类型转换就是将一个类型的对象转换成其他类型
类型转换不是改变对象本身的类型,而是根据当前对象的值创建一个新的对象

1、int()

将其他的对象转换为整型
int()函数不会对原来的变量产生影响,是将对象转换成指定的类型并将其作为返回值返回
如果希望修改原来的变量,则需要对变量进行重新赋值

规则

布尔值:True - > 1 False -> 0
浮点数:直接取整,省略小数点后的内容
字符串:合法的整数字符串,直接转换为对应的数字,如果不是合法的整数字符串,则报错
对于其他不可转换为整型的对象,直接抛出异常ValueError

2、float()

filat()和int()基本一致,不同的是会将对象转换为浮点数
字符串:需要是一个合法的小数字符串,不是则报错

3、str()

将对象转换为字符串

规则

Ture -> ‘True’
Fause -> ‘Fause’
123 -> ‘123’

4、bool()

bool()可以将对象转换为布尔值,任何对象都可以转换成布尔值

规则

对于多有空性的对象都会转换为False,其余都会转换为True
空性:0,None,‘ ’(空字符串)

十、运算符(操作符)

运算符可以对一个值货多个值进行运算或者各种操作。(+、-、=)

1、算术运算符

+(运算、拼串)
-
*(字符串和数字相乘,对字符串进行复制操作,将字符串重复指定次数)
/(运算时总会返回一个浮点数,除数不能为0)
//(整除,只会保留计算后的整数位,总会返回一个整型)
**(幂运算)
%(取模,即取余)

2、赋值运算符

**=**将右边的值赋值给左侧的变量
+= a+=5 相当于 a= a+5
-=
*=
**=

/=
//=
%=

对浮点数进行算术运算时,结果会返回一个浮点数

3、关系运算符(比较运算符)

用来比较两个值之间的关系,总会返回一个布尔值
如果关系成立,返回True或者False

**>**大于
**<**小于
**<=**小于或者等于
**>=**大于或者等于
**==**比较两个对象的值是否相等(相等和不等比较的是对象的值,不是id)
**!=**比较两个对象的值是否 不等
is比较的是两个对象是否是同一个对象,比较的是对象的id
is not比较两个对象是否不是同一个对象

两个字符串的比较

  • 在python中可以对两个字符串进行大于(等于)或者小于(等于)的运算
  • 当对字符串进行比较时,实际上比较的是字符串的unicode编码
  • 在比较两个字符串的unicode编码时,是逐位比较的
  • 利用该特性,可以对字符串按照字母顺序进行排序,但是对于中文来讲,意义不大
  • 如果不希望比较两个字符串的Unicode编码,则需要将其转换为数字然后再比较

4、逻辑运算符

主要用来进行逻辑判断
逻辑运算可以连着使用

result = 1 < 2 < 3 		#相当于1 < 2 and 2 < 3

not 逻辑非
- 可以对符号右侧的值进行非运算
- 对于布尔值,非运算会对其进行取反操作
- 对于非布尔值,非运算会先将其转换为布尔值,然后再取反

and 逻辑与
- 可以对符号两侧的值进行与运算
- 只有在符号两侧的值都是True时,才会返回True,只要有一个False,就返回False
- 与运算是找False
- python中的与运算是短路的,如果第一个值是False,则不再看第二个值

True and print("hello")		##第一个值是True,会看第二个值,print()会执行
False and print("hello")	##第一个值是False,不会看第二个值,print()不会执行

在这里插入图片描述

or 逻辑或
- 可以对符号两侧的值进行或运算
- 或运算两个值中只要有一个True,就会返回True
- 或运算是找True
- python中的或运算是短路的,如果第一个值为True,则不再看第二个值

5、非布尔值的逻辑运算符

当对非布尔值进行与或运算时,python会将其当作布尔值运算,最终会返回原值

result1 = 1 and 2		##与运算找False,如果第一个是False,则直接返回第一个值,否则返回第二个值,无论第二个值是什么 
result2 = 1 and 0
result3 = 0 and 1
result4 = 0 and None
print(result1,result2,result3,result4)

在这里插入图片描述

  • 同理,或运算找True,如果第一个值是True,返回第一个值,否则返回第二个值,不论是什么

6、条件运算符(三元运算符)

语法: 语句1 if 条件表达式 else 语句2
执行流程:
条件运算符在执行时,会先对条件表达式进行求值判断
如果判断结果为True,则执行语句1,并返回执行结果
如果判断结果为False,则执行语句2,并返回执行结果

print("hello") if True else print("world")

7、运算符的优先级

与and的优先级比或or高
在官方表格中,位置越靠下的运算符优先级更高
如果优先级一样则自左向右计算
在开发中如果遇到优先级不清楚的,则可以通过小括号来改变运算顺序
or < and < not x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/4542.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FPGA可以转IC设计吗?需要学习哪些技能?

曾经在知乎上看到一个回答“入职做FPGA&#xff0c;后续是否还可以转数字IC设计&#xff1f;” 从下面图内薪资就可以对比出来&#xff0c;对比FPGA的行业薪资水平&#xff0c;IC行业中的一些基础性岗位薪资比很多FPGA大多数岗位薪资都要高。 除了薪资之外更多FPGA转IC设计的有…

Python Flask框架学习笔记16

表单&#xff1a; 表单是网站与用户交互必不可少的元素。表单中可以提供文本输入框、单选按钮、复选框、按钮等元素供用户提交数据。 表单还有验证数据的作用&#xff0c;这个是通过javascript进行验证的。那么服务器端要进行数据验证是通过第三方插件Flask-WTF。这个工具有主…

安全防御 --- 防火墙(02)-- ASPF、NAT

1、FTP技术 &#xff08;1&#xff09;简介&#xff1a; 主机之间传输文件是IP网络的一个重要功能&#xff0c;如今人们可以方便地使用网页、邮箱进行文件传输。 然而在互联网早期&#xff0c;Web&#xff08;World Wide Web&#xff0c;万维网&#xff09;还未出现&#xff0…

【Python】好用的办公能手:利用OCR进行PDF文档解析(附教程)

文章目录前言文档解析涉及检查文档中的数据并提取有用的信息。它可以通过自动化减少了大量的手工工作。一种流行的解析策略是将文档转换为图像并使用计算机视觉进行识别。而文档图像分析(Document Image Analysis)是指从文档的图像的像素数据中获取信息的技术&#xff0c;在某些…

RabbitMQ 发送给延迟交换机的消息调用returnedMessage 方法及returnedMessage() 方法的作用

1&#xff1a;returnedMessage() 方法的作用 交换机返回消息的方法-消息未送达队列触发回调 &#xff08;1&#xff09;常用于交换机无法路由回退消息。 &#xff08;2&#xff09;如果交换机绑定了备用交换机则是路由到备用交换机&#xff0c;此方法不回调。 &#xff08;3&a…

fwdiary(8) 区间dp,树形dp 记忆化搜索

1.划分大理石&#xff08;背包问题&#xff09; 多重背包问题&#xff0c;本题数据用二进制优化即可。 从6种大理石&#xff0c;每种有ai个&#xff0c;恰好选出重量为j&#xff0c;最终答案是 重量为总重/2 #include <cstring> #include <iostream> #include &l…

SpringBoot整合Flink(施耐德PLC物联网信息采集)

SpringBoot整合Flink&#xff08;施耐德PLC物联网信息采集&#xff09;Linux环境安装kafka前情&#xff1a;施耐德PLC设备&#xff08;TM200C16R&#xff09;设置好信息采集程序&#xff0c;连接局域网&#xff0c;SpringBoot订阅MQTT主题&#xff0c;消息转至kafka&#xff0c…

Wing IDE 解决鼠标悬浮

Wing IDE 解决鼠标悬浮 通过修改文件配置&#xff0c;解决鼠标悬浮没有出现变量值和函数没有自动提示的问题。 配置文件路径查看&#xff1a; 打开该文件夹下的下图配置文件&#xff1a; 添加下图两行配置&#xff0c;然后重启wingide即可。 Wing IDE 常用快捷键 调节字…

人工智能、深度学习和机器学习有哪些区别?

很多人可能不明白『机器学习』、『AI&#xff08;人工智能&#xff09;』和『深度学习』之间的区别。这些都是现代数据技术应用中的重要关键字&#xff0c;但由于它们很相似&#xff0c;因此极易混淆。但是为了将 AI 引入日常工作中&#xff0c;正确理解这三个关键字的范围很重…

English Learning - L2 第 9 次小组纠音 辅音 [s] [z] [ʃ] [ʒ] [h] [ʧ] [ʤ] 2023.3.25 周六

English Learning - L2 第 9 次小组纠音 辅音 [s] [z] [ʃ] [ʒ] [h] [ʧ] [ʤ] 2023.3.25 周六共性问题babies /ˈbeɪbɪz/Zoo /zuː/jazz /ʤz/reads /riːdz/slowly /ˈsləʊli/shop /ʃɒp/delicious /dɪˈlɪʃəs/usually /ˈjuːʒʊəlɪ/whole /həʊl/help /help/…

NDK FFmpeg音视频播放器五

NDK前期基础知识终于学完了&#xff0c;现在开始进入项目实战学习&#xff0c;通过FFmpeg实现一个简单的音视频播放器。 音视频一二三四节已经实现了音视频播放和解决内存泄漏问题&#xff0c;本节主要是完成音视频同步问题。 本节内容如下&#xff1a; 1.音视频同步画图分析…

深入学习JavaScript系列(三)——this

本篇为此系列第三篇&#xff0c;本系列文章会在后续学习后持续更新。 第一篇&#xff1a;#深入学习JavaScript系列&#xff08;一&#xff09;—— ES6中的JS执行上下文 第二篇&#xff1a;# 深入学习JavaScript系列&#xff08;二&#xff09;——作用域和作用域链 第三篇&…

JWT基础教程

JWT 目标 JWT 实现无状态 Web 服务【掌握】 nimbus-jose-jwt 库【重点】 token续期【重点】 一、 JWT 实现无状态 Web 服务 1、什么是有状态 有状态服务&#xff0c;即服务端需要记录每次会话的客户端信息&#xff0c;从而识别客户端身份&#xff0c;根据用户身份进行请…

注意力汇聚 笔记

10.2. 注意力汇聚&#xff1a;Nadaraya-Watson 核回归 — 动手学深度学习 2.0.0 documentation 要是有错请指正 想了半天这个玩意才搞懂一点点, 1.设计出一个函数 给予真实的连续x 得出真实连续的y 2.随机生成用于测试的一批不连续的 离散的x 并将测试x放进函数中并加入一…

IO进程线程-标准IO(结)

目录 1.思维导图 2.笔记 3.作业 3.1题 3.2题 1.思维导图 2.笔记 有道云笔记 3.作业 3.1题 计算文件行数 // 使用fputs fgets // 要求拷贝一个文件&#xff0c;例如将1.c中的内容拷贝到2.c中 // 要求计算一个文件的大小。#include <stdio.h> #include <string.…

python条件语句与循环语句

目录 一、条件语句 1.1if 二、循环语句 2.1while 2.2for循环 2.3break和continue 三、test和总结 一、条件语句 1.1if Python条件语句是通过一条或多条语句的执行结果&#xff08;True或者False&#xff09;来决定执行的代码块。 Python程序语言指定&#xff1a; 任…

TCC真没这么简单,一文讲透|分布式事务系列(三)

本文从两个场景说起&#xff0c;详细描述了TCC的详细过程&#xff0c;以及对比2PC有什么区别&#xff0c;适用什么样的场景。点击上方“后端开发技术”&#xff0c;选择“设为星标” &#xff0c;优质资源及时送达在面试前复习 TCC 的时候你是不是这样做的&#xff1a;百度TCC关…

Java基础 -- 关键字Static和Final

Java基础 -- 关键字Static和Final1. Static1.1 修饰成员变量1.2 修饰方法1.3 代码块1.3.1 代码块011.3.2 代码块022. Final2.1 初始化2.2 思考3. 类属性值的Null和非空判断4. Awakening1. Static java static关键字可以用在变量、方法、代码块和嵌套类上 1.静态变量 2.静态方法…

docker-compose部署rabbitmq集群

1、集群分类 RabbitMQ的是基于Erlang语言编写&#xff0c;而Erlang又是一个面向并发的语言&#xff0c;天然支持集群模式。 RabbitMQ的集群以下分类&#xff1a; 标准集群&#xff1a;是一种分布式集群&#xff0c;将队列分散到集群的各个节点&#xff0c;从而提高整个集群的并…

解决 Git 错误 error: failed to push some refs to ‘https://*****.git‘

1. 错误描述 当在 git 上创建好仓库后在上传时出现 ! [rejected] main -> main (fetch first)&#xff0c;error: failed to push some refs to *****。 2. 产生错误的原因 我们在创建仓库的时候&#xff0c;都会勾选 添加 README 文件&#xff0c;这个操作自动创建了一个 …
最新文章