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

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

相关文章:

  • Android JecPack组件之LifeCycles 使用详解
  • replaceState和vue的router.replace删除query参数的区别
  • 微信小程序在使用页面栈保存页面信息时,如何避免数据丢失?
  • 基于CiteSpace的知网专利文献计量分析与可视化
  • LLM实现视频切片合成 前沿知识调研
  • 1Hive概览
  • FPGA可以转IC设计吗?需要学习哪些技能?
  • spring常用注解
  • Python Flask框架学习笔记16
  • 这16个性能测试工具,测试人用了都说好!
  • 安全防御 --- 防火墙(02)-- ASPF、NAT
  • 【Python】好用的办公能手:利用OCR进行PDF文档解析(附教程)
  • RabbitMQ 发送给延迟交换机的消息调用returnedMessage 方法及returnedMessage() 方法的作用
  • RPA Framework
  • fwdiary(8) 区间dp,树形dp 记忆化搜索
  • 2023年学习系列之读出计划
  • SpringBoot整合Flink(施耐德PLC物联网信息采集)
  • Wing IDE 解决鼠标悬浮
  • 人工智能、深度学习和机器学习有哪些区别?
  • 免费空间主机是什么?怎么申请免费空间主机
  • English Learning - L2 第 9 次小组纠音 辅音 [s] [z] [ʃ] [ʒ] [h] [ʧ] [ʤ] 2023.3.25 周六
  • NDK FFmpeg音视频播放器五
  • 深入学习JavaScript系列(三)——this
  • JWT基础教程
  • 注意力汇聚 笔记
  • IO进程线程-标准IO(结)