Python 基本语法

目录

变量

变量的使用

变量命名规范

基本语法

注释

语句分隔符

缩进

Python编码规范(PEP 8)

输入输出函数

基本数据类型

整型和浮点型

布尔类型

字符串

字符串转义符

长字符串

格式化字符串

序列类型操作

内置方法

类型转换

运算符

算数运算符

赋值运算符

比较运算符

逻辑运算符

附录


变量

变量的使用

变量是一段有名字的连续存储空间。我们通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。在编程语言中,将数据放入变量的过程叫做赋值(Assignment)。Python 使用等号=作为赋值运算符,具体格式为:

变量名 = 任意类型的值

x  = 10
y  = "hello,yuan"
z  = True
x  = 20

python作为动态语言的代表,是不同于C语言等静态语言的变量存储原理的

x = 10
print(id(x))
x = 20  # 内存变化
print(id(x))

变量命名规范

简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则

  • 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。

  • 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。

  • Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。

  • 在 Python 中,标识符中的字母是严格区分大小写

  • Python 允许使用汉字作为标识符(不推荐)

基本语法

注释

注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。一般情况下,合理的代码注释应该占源代码的 1/3 左右。

注释只是为了提高公认阅读,不会被解释器执行。

Python 支持两种类型的注释,分别是单行注释和多行注释。

#  单行注释
"""
这是一个多行注释
三引号里面的任何内容不会被解释器执行
"""

语句分隔符

就像我们写作文一样,逗号、句号等语句分隔符是非常重要的,程序也一样,要想让解释器能读懂,语句和语句之间一定要有分隔符。在C、Java等语言的语法中规定,必须以分号作为语句结束的标识。Python也支持分号,同样用于一条语句的结束标识。但在Python中分号的作用已经不像C、Java中那么重要了,Python中的分号可以省略,主要通过换行来识别语句的结束。

缩进

和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用冒号( : )和代码缩进和来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。

注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。

Python编码规范(PEP 8)

Python 采用 PEP 8 作为编码规范,其中 PEP 是 Python Enhancement Proposal(Python 增强建议书)的缩写,8 代表的是 Python 代码的样式指南。下面仅给大家列出 PEP 8 中初学者应严格遵守的一些编码规则:

1、不要在行尾添加分号,也不要用分号将两条命令放在同一行

2、通常情况下,在运算符两侧、函数参数之间以及逗号两侧,都建议使用空格进行分隔。

3、使用必要的空行可以增加代码的可读性,通常在顶级定义(如函数或类的定义)之间空两行,而方法定义之间空一行,另外在用于分隔某些功能的位置也可以空一行。

输入输出函数

print函数 : 用于打印输出,是python中最常见的一个函数。

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    """
    pass

input函数:用于读入一个字符串的函数

以上信息说明input函数在python中是一个内建函数,其从标准输入中读入一个字符串,并自动忽略换行符。也就是说所有形式的输入按字符串处理,如果想要得到其他类型的数据进行强制类型转化。

name = input("您的姓名:")
age = input("您的年龄:")
print(name,type(name))
print(age,type(age))

基本数据类型

整型和浮点型

在python中整数都属于整型,不同于C语言会根据整数的大小将整型分类为short、int、long、long long 四种类型,python只有一种整型,即int类型,无论整型数字多大多小都属于int

x = 10
print(type(x))  # <class 'int'>

在python中小数都属于浮点型(float),有两种表现形式

# 小数点形式
f =  3.14
print(f)  # 3.14
print(type(f)) # <class 'float'>

布尔类型

布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。在python中用 bool表示布尔类型,"真"用关键字true表示,"假"用false表示。

print(4 == 2) # False
print(5 > 1)  # True

name = "yuan"
print(name == "alvin") # False
print(1 == "1") # False

不光表达式的结果是布尔值,任意值都有自己的布尔值,这就涉及到布尔的零值。

# 任意数据类型都一个具体值的布尔值为False,我们称为零值。该类型的其他值的布尔值皆为True。
print(bool("")) # 字符串的零值 “”
print(bool(0))  # 整型的零值 0
print(bool(False)) # 布尔类型的零值 False

print(bool("0"))
print(bool("-1"))  
print(bool("yuan"))
print(bool(-1))
print(bool(0.1))

字符串

字符串是由零个或多个字符组成的有限序列。字符串的内容可以包含字母、标点、特殊符号、中文、日文等全世界的所有字符。

在python中字符串是通过单引号''或者双引号""标识的。

s1 = "hi yuan"
print(s1)

s2 = ""
print(s2)

s3 = 'yuan老师是最帅的老师!'
print(s3)

Python 字符串中的双引号和单引号没有任何区别!

字符串转义符

s1 = "hi yuan\nhi,alvin"
print(s1)

长字符串

s = """
    s = "hi yuan\\nhi,alvin"
    I'm yuan\n
    这是一个python解释器路径:"D:\\nythonProject\\nenv\Scripts\python.exe" 
长字符串中放置单引号或者双引号不会导致解析错误
"""
print(s)

格式化字符串

之前讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出。

name = "yuan"
age = 23
print("My name is %s; My age is %d" % (name, age))
print(f"My name is {name}; My age is {age}")

在 print() 函数中,由引号包围的是格式化字符串,它相当于一个字符串模板,可以放置一些转换说明符(占位符)。本例的格式化字符串中包含一个%s%d说明符,它最终会被后面的name和age 变量的值所替代。中间的%是一个分隔符,它前面是格式化字符串,后面是要输出的表达式。

序列类型操作

字符串属于序列类型,所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。

s= "hello yuan"
print(len(s))

Python 还支持索引值是负数,此类索引是从右向左计数,换句话说,从最后一个元素开始计数,从索引值 -1 开始,如图 所示。

序列类型支持的操作:

# (1)索引取值
s = "hello yuan"
print(s[6])
print(s[-10])

# (2)切片取值:序列类型对象[start : end : step]
s = "hello yuan"
print(s[1:4]) # ell  :取索引1到索引3(左闭又开)
print(s[:4])  # hell :start缺省,默认从0取
print(s[:])  # ello yuan : end缺省,默认取到最后
print(s[1:-1]) # ello yua

# (3)判断存在:Python 中,可以使用 in 关键字检查某元素是否为序列的成员。
s = "hello yuan"
print("yuan" in s) # True

# (4)支持两种类型相同的序列使用“+”运算符做相加操作,它会将两个序列进行连接,但不会去除重复的元素。
#     使用数字 n 乘以一个序列会生成新的序列,其内容为原来序列被重复 n 次的结果
s = "hello"+" yuan"
print(s) # hello yuan
s= "*"*10
print(s) # **********

内置方法

方法作用示例输出
upper全部大写"hello".upper()"HELLO"
lower全部小写"Hello".lower()"hello"
startswith()是否以a开头"Yuan".startswith("Yu")True
endswith()是否以a结尾"Yuan".endswith("a")False
isdigit()是否全数字'123'.isdigit()True
strip()去两边空格" hi yuan \n".strip()"hi yuan"
join()将多个字符串连接在一起"-".join(["yuan","alvin","eric"])"yuan-alvin-eric"
split()按某字符分割字符串,默认按空格分隔"yuan-alvin-eric".split("-")['yuan', 'alvin', 'eric']
find()搜索指定字符串,没有返回-1"hello world".index("w")6
index()同上,但是找不到会报错"hello world".index("w")6
count()统计指定的字符串出现的次数"hello world".count("l")3
replace()替换old为new'hello world'.replace(‘world',‘python')"hello python"
# 任意数据对象.方法()实现对数据的某种操作
# 不同数据类型对象支持不同方法
# 字符串类型对象支持哪些方法

s1 = "yuan"
s2 = "RAIN"
# (1) upper方法和lower方法
s3 = s1.upper()
s4 = s2.lower()
print(s3) # "YUAN"
print(s4) # "rain"


s5 = "hello yuan"
s6 = "hi world"
# (2) startswith和endswith:判断字符串是否以什么开头和结尾
print(s5.startswith("hello")) # True
print(s6.startswith("hello")) # False
print(s6.startswith("hi wor")) # True
print(s6.endswith("hi wor")) # False

# (3) isdigit(): 判断字符串是否是一个数字字符串
s7 = "123"
s8 = "123A"
print(s7.isdigit()) # True
print(s8.isdigit()) # False
s9 = "123SAA%#"
print(s9.isalnum()) # False 不能包含特殊符号

# (4) strip(): 去除两端空格和换行符号

s10 = " I am yuan "
print(s10)
print(s10.strip())
name = input("请输入姓名>>").strip()
print(name)

# (5) split分割方法: 将一个字符串分割成一个列表
s11 = "rain-yuan-alvin-eric"
print(s11.split("-")) # ['rain', 'yuan', 'alvin', 'eric']

# (6) join方法: 将一个列表中的字符串拼接成一个字符串
names_list = ['rain', 'yuan', 'alvin', 'eric']
s12 = "-".join(names_list) # 用什么分隔符拼接names_list列表
print(s12,type(s12)) # "rain-yuan-alvin-eric"

类型转换

i = int("3")
print(i,type(i)) # 3 <class 'int'>

s = str(3.14)
print(s,type(s)) # 3.14 <class 'str'>

运算符

算数运算符

运算符说明实例结果
+1+12
-1-10
*1*33
/除法(和数学中的规则一样)4/22
//整除(只保留商的整数部分)7 // 23
%取余,即返回除法的余数7 % 21
**幂运算/次方运算,即返回 x 的 y 次方2 ** 416,即 24

赋值运算符

运算符说 明用法举例等价形式
=最基本的赋值运算x = yx = y
+=加赋值x += yx = x + y
-=减赋值x -= yx = x - y
*=乘赋值x *= yx = x * y
/=除赋值x /= yx = x / y
%=取余数赋值x %= yx = x % y
**=幂赋值x **= yx = x ** y
//=取整数赋值x //= yx = x // y
&=按位与赋值x &= yx = x & y
|=按位或赋值x |= yx = x | y
^=按位异或赋值x ^= yx = x ^ y
<<=左移赋值x <<= yx = x << y,这里的 y 指的是左移的位数
>>=右移赋值x >>= yx = x >> y,这里的 y 指的是右移的位数

比较运算符

比较运算符说明
>大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
<小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
==等于,如果==两边的值相等,则返回 True,否则返回 False。
>=大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<=小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!=不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

逻辑运算符

逻辑运算符含义基本格式说明
and逻辑与运算a and b当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。
or逻辑或运算a or b当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。
not逻辑非运算not a如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反。

附录

hello.py

print("hello world2")

变量.py

x = 1
print(id(x))
y = 2
x = 10
print(id(x))   # id()函数获取变量x的内存地址
print(x)

print(1 + 2)
print(1 - 2)
print(x + y)
print(x - y)
print(x * y)
print(x / y)

print(x + y)

z = x + y
print(z)
print(z * 10)
print(z * 100)

# 变量命名
name = "yuan"
age = 18
print(name, age)

Python基本语法1

# 将姓名字符串yuan赋值操作给变量name
name = "yuan"
# 将数字18赋值给变量age
age = 18
"""
这是一个多行注释
三引号里面的任何内容不会被解释器执行
"""

Python基本语法2

# python一般都是以换行符作为语句分隔符
a = 1
b = 2

整型与浮点型

x = -100
x = 100

# type()函数获取y的类型
print(type(x))  # <class 'int'>

y = 3.14
print(type(y))  # <class 'float'>

布尔.py

# 整型:1,2,3,4, ... 100000000
# 浮点型:1.1,1.2,1.3,...
# 布尔类型: True  False

# x = 2 > 1
# print(x)
# print(type(x))  # <class 'bool'>
#
# y = 2 == 3
# print(y)
# print(type(y))  # <class 'bool'>

# 拓展一下:零值:每一个数据类型都有一个布尔值为Fasle的值
print(2 > 1)
print(bool(2 > 1))
print(bool(2 != 1))

# 整型的唯一零值是0
print(bool(1))
print(bool(-1))
print(bool(-100))
print(bool(0))
# 字符串的唯一零值是""
print(bool("0"))
print(bool("-1"))
print(bool("False"))
print(bool("false"))
print(bool(""))

# 列表的零值 []
# 字典的零值 {}
if "假的":
    print("OK")

字符串类型.py

name = "yuan"  # 标识字符串可以用双引号,也可以用单引号
name = 'rain'
print(name)

# 一 字符串的转义符号:\
# 转义符号:\的功能有两个:
# (1)赋予一些普通符号以特殊功能
# (2)取消一些特殊符号的特殊功能变为普通符号
#  \n:换行符
print("hello world\nhello yuan")

print('i\' m yuan')   # 打印出字符 '

print("hello world\\nhello yuan")   # 打印出字符 \

# 二 长字符串
s = """ssssssssssssssssssss
AAAAAAAAAAAAAAA
       BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"""
print(s)

# 三 格式化输出

name = "alvin"
age = 22
height = 190

print("我的姓名:%s,我的年龄:%s,我的身高:%s" % (name, age, height))  # 模板
print(f"我的姓名:{name},我的年龄:{age},我的身高:{height}")

# 四: 序列类型操作

s = "hello yuan"
# 索引操作 :获取一个字符 字符串[索引]
print(s[8])
print(s[-2])
# 切片操作:获取一段字符串  字符串[开始索引:结束索引:步长=1]
print(s[6:9])  # yua
print(s[6:-1])  # yua
print(s[6:])  # yuan
print(s[0:5])  # hello
print(s[:5])  # hello
print(s[:])  # hello yuan
print(s[::-1])  # 字符串的翻转:hello yuan

# 五 in 操作:判断是否存在

print("yuan" in s)  # 返回布尔值
print("yuan " in s)  # 返回布尔值

# 六: + 拼接
a = "hello "
b = "yuan"
print(a + b)


字符串内置方法.py

# 类型对象.该类型对象拥有的方法

s1 = "Hello World"
s2 = "rain"
# new_s1 = s1.upper()
# new_s2 = s2.upper()
print(s1.upper())     # 字符串的upper()方法来将s1中的所有字符转换为大写。
print(s1.lower())     # 字符串的lower()方法来将s1中的所有字符转换为小写。
print(s1.startswith("H"))  # 返回布尔值    字符串的startswith()方法来检查s1是否以指定的前缀开头。
print(s1.startswith("He"))  # 返回布尔值
print(s1.startswith("Hel"))  # 返回布尔值
print(s1.startswith("World"))  # 返回布尔值
print(s1.startswith("ell"))  # 返回布尔值
print(s1.startswith("h"))  # 返回布尔值
print(s1.endswith("World"))
print(s1.endswith("ld"))

print(s1.replace("World", "Yuan"))   # 字符串的replace()方法来将字符串中的特定子字符串替换为新的子字符串
print(s1)

num = "100"  # 数字字符串
print(num.isdigit())  # isdigit()方法是字符串对象的一个方法,它用于检查字符串是否只包含数字字符。如果字符串中的所有字符都是数字字符,则返回True,否则返回False。

word = "   hello world   "
print(word)
print(len(word))
print(word.strip())    # strip()是字符串对象的一个方法,用于去除字符串两端的空白字符。

# 最重要的两个方法: split join

# 字符串的split()方法来将字符串按照指定的分隔符进行拆分
s = "北京 上海 深圳 广州"
cities = s.split(" ")  # ['北京', '上海', '深圳', '广州']

print(cities[1])
print(cities[3])
print(len(cities))
print(cities)
# join()是字符串对象的一个方法,它将指定的可迭代对象中的元素连接成一个字符串,并使用调用该方法的字符串作为连接符。
print(",".join(cities))  # "北京,上海,深圳,广州"

# index()方法:查索引
s1 = "Hello World"
print(s1.index("W"))
print(s1.index("o", 5, 10))
print(s1.index("World"))

类型转换.py

x = 100  # int
y = str(x)  # 将整型转换为字符串
print(type(y))  # <class 'str'>

a = "100"
b = int(a)
print(type(b))  # int

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

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

相关文章

Elasticsearch 的使用

一、简介 1.Shard&#xff08;分片&#xff09; 数据分散集群的架构模式&#xff0c;Elasticsearch 将一个 Index&#xff08;索引&#xff09;中的数据切为多个 Shard&#xff08;分片&#xff09;&#xff0c;分布在不同服务器节点上。 默认每个索引会分配5个主分片和1个副本…

2023接口测试面试题

http接口工具有很多如&#xff1a;postman、jmeter、soupUI、Javahttpclient、robotframeworkhttplibrary等 1、什么是接口 接口就是内部模块对模块&#xff0c;外部系统对其他服务提供的一种可调用或者连接的能力的标准 接口的种类和分类:webservice和http api接口 1&#…

Leetcod面试经典150题刷题记录——数组 / 字符串篇

数组 / 字符串篇 1. 合并两个有序数组Python3排序法双指针法 2. 删除有序数组中的重复元素3. H 指数Python3排序法计数排序法二分查找 有个技巧&#xff0c;若想熟悉语言的写法&#xff0c;可以照着其它语言的题解&#xff0c;写目标语言的代码&#xff0c;比如有C/C的题解&…

Qt开发 之 安装程序错误--安装进程(qt.tool.perl)的解决办法

文章目录 1、问题描述2、问题原因3、解决方案3.1、不关闭错误弹出窗口3.2、手动安装Perl3.3、安装Perl完成后&#xff0c;点击“ignore”继续安装 1、问题描述 Win11下&#xff0c;安装qt5.12.12时遇到“安装进程(qt.tools.perl)运行期间出现错误” 问题描述&#xff1a; Err…

表的创建和管理

表的创建和管理 一条数据的存储过程标识符的命名规则MySQL中的数据类型管理和创建数据库创建数据库使用数据库修改数据库 创建表创建方式1创建方式2查看数据表结构 修改表追加一个列修改一个列重命名一个列删除一个列 重命名表删除表清空表 一条数据的存储过程 存储数据是处理数…

语义分割—FCN网络 学习笔记 (附代码)

论文地址&#xff1a;https://arxiv.org/abs/1411.4038 代码地址&#xff1a;https://gitcode.com/mirrors/wzmiaomiao/deep-learning-for-image-processing/overview?utm_sourcecsdn_github_accelerator 1.是什么&#xff1f; 全卷积网络&#xff08;Fully Convolutional N…

解决 from . import _imaging as core ImportError: DLL load failed: 找不到指定的模块。

升级pillow版本就完事了 卸载掉之前的旧版本 conda uninstall pillow升级到新的版本就解决了 pip uninstall pillow 那个错误就解决了

项目实战-编写ssm整合配置文件

1、父工程pom.xml <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><spring.version>…

【Android知识笔记】架构专题(三)

如何用工程手段,提高写代码的生产力?(元编程) 即如何写同样多的代码,花费更少的时间?如何自动生成代码,哪种代码可以被自动生成?哪些环节能够作为自动生成代码的切入点? 代码自动生成技术 代码自动生成,指的并不是让计算机凭自己的意愿生成代码。而是让预先实现好…

Unity 注释的方法

1、单行注释&#xff1a;使用双斜线&#xff08;//&#xff09;开始注释&#xff0c;后面跟注释内容。通常注释一个属性或者方法&#xff0c;如&#xff1a; //速度 public float Speed;//打印输出 private void DoSomething() {Debug.Log("运行了我"); } …

使用JDBC操作数据库时,插入数据中文乱码

如图&#xff1a; 解决办法&#xff1a; 修改连接数据库的路径&#xff0c;即url 如下&#xff1a; 设置编码格式为utf-8 urljdbc:mysql://localhost:3306/qfedu?useUnicodetrue&characterEncodingUTF-8再次运行&#xff0c;插入数据即可

CRM系统:让企业商机管理变得轻松愉快

传统企业的经常出现团队分工不合理、实施过程不可见、进度难以把控等情况。这样不仅会让项目实施周期变长&#xff0c;还会导致客户满意度降低&#xff0c;给企业的发展带来了不好的影响。因此&#xff0c;进行商机管理至关重要。那么&#xff0c;CRM系统如何进行企业的商机阶段…

速通MySql

一、简介 1、什么是数据库 数据仓库&#xff0c;用来存储数据。访问必须用SQL语句来访问 2、数据库的类型 1、关系型数据库&#xff1a;Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询&#…

TA-Lib学习研究笔记(八)——Momentum Indicators 上

TA-Lib学习研究笔记&#xff08;八&#xff09;——Momentum Indicators 上 Momentum Indicators 动量指标&#xff0c;是最重要的股票分析指标&#xff0c;能够通过数据量化分析价格、成交量&#xff0c;预测股票走势和强度&#xff0c;大部分指标都在股票软件中提供。 1. A…

SSM框架(四):SSM整合 案例 + 异常处理器 +拦截器

文章目录 一、整合流程图1.1 Spring整合Mybatis1.2 Spring整合SpringMVC 二、表现层数据封装2.1 问题引出2.2 统一返回结果数据格式 代码设计 三、异常处理器3.1 概述3.2 异常处理方案 四、前端五、拦截器5.1 概念5.2 入门案例5.3 拦截器参数5.4 拦截器链 一、整合流程图 1.1 S…

如何做一名合格的班主任

班主任是学生在校园内最直接的“家长”&#xff0c;担负着对学生全面管理和教育的责任。该如何才能成为一名合格的班主任呢&#xff1f; 一、具备扎实的专业知识 班主任是一名教师&#xff0c;扎实的专业知识是成为合格班主任的基本条件。在教学过程中&#xff0c;班主任要能够…

代码随想录算法训练营第三十七天 _ 贪心算法_738.单调自增的数字、968.监督二叉树

学习目标&#xff1a; 60天训练营打卡计划&#xff01; 学习内容&#xff1a; 738.单调自增的数字 听不懂的时候就到该动手了。必须要从后向前操作&#xff0c;才能把压力逐级传给最前面的这一位。入如&#xff1a;322 class Solution {// java中的String不能修改&#xf…

探索数据之美:深入学习Plotly库的强大可视化

1. 引言&#xff1a; Plotly 是一个交互性可视化库&#xff0c;可以用于创建各种漂亮的图表和仪表板。它支持多种编程语言&#xff0c;包括Python、R、JavaScript。在Python中&#xff0c;Plotly提供了Plotly Express和Graph Objects两个主要的绘图接口。 2. Plotly库简介&am…

SQL中left join、right join、inner join等的区别

一张图可以简洁明了的理解出left join、right join、join、inner join的区别&#xff1a; 1、left join 就是“左连接”&#xff0c;表1左连接表2&#xff0c;以左为主&#xff0c;表示以表1为主&#xff0c;关联上表2的数据&#xff0c;查出来的结果显示左边的所有数据&#…

visual Studio MFC 平台实现图像增强中Gray-level slicing,Bit-plane slicing,对比度拉伸三种方法

MFC 实现图像增强–分段式变换 本文使用visual Studio MFC 平台实现图像增强中的第三大类分段式变换中的三种方法&#xff0c;包括Gray-level slicing&#xff0c;Bit-plane slicing&#xff0c;对比度拉伸&#xff0e; 关于其他MFC单文档工程可参考 01-Visual Studio 使用MFC …