【Python】基础知识

文章目录

  • 前言
  • 一、常量和表达式
  • 二、变量和类型
    • [1. 变量](#1. 变量)
      • [1.1 变量名](#1.1 变量名)
      • [1.2 变量的使用](#1.2 变量的使用)
    • [2. 类型](#2. 类型)
      • [2.1 整数](#2.1 整数)
      • [2.2 浮点数(小数)](#2.2 浮点数(小数))
      • [2.3 字符串](#2.3 字符串)
        • [2.3.1 字符串长度](#2.3.1 字符串长度)
        • [2.3.2 字符串拼接](#2.3.2 字符串拼接)
      • [2.4 布尔类型](#2.4 布尔类型)
      • [2.5 其他](#2.5 其他)
      • [2.6 动态类型特性](#2.6 动态类型特性)
        • [2.6.1 动态类型和静态类型](#2.6.1 动态类型和静态类型)
        • [2.6.2 动态类型特性是一把双刃剑](#2.6.2 动态类型特性是一把双刃剑)
  • 三、注释
    • [1. 注释行](#1. 注释行)
    • [2. 文档字符串](#2. 文档字符串)
  • 四、输出输入
    • [1. 输出](#1. 输出)
    • [2. 输入](#2. 输入)
  • 五、运算符
    • [1. 算数运算符](#1. 算数运算符)
    • [2. 关系运算符](#2. 关系运算符)
      • [2.1 判断两个字符串是否相等](#2.1 判断两个字符串是否相等)
      • [2.3 判断两个浮点数是否相同](#2.3 判断两个浮点数是否相同)
    • [3. 逻辑运算符](#3. 逻辑运算符)
    • [4. 赋值运算符](#4. 赋值运算符)
      • [4.1 同时对多个变量赋值](#4.1 同时对多个变量赋值)
        • [4.1.1 链式赋值](#4.1.1 链式赋值)
        • [4.1.2 多元赋值](#4.1.2 多元赋值)
      • [4.2 复合赋值运算符](#4.2 复合赋值运算符)
    • [5. 其他](#5. 其他)
  • 总结

前言

本文用于介绍Python的一些基础概念,包括Python中的:常量和表达式、变量和类型、注释、输入输出、运算符等。


一、常量和表达式

print是Python中的一个内置函数,用于将数据打印到控制台上

python 复制代码
print(1 + 2 - 3) #0
print(1 + 2 * 3) #7
print(1 + 2 / 3) #1.6666666666666665

其中1 + 2 - 3这样的算式,在编程语言中称为表达式,运算结果称为表达式的返回值。

而像1,2,3这样的数字被称为字面值常量

二、变量和类型

1. 变量

python 复制代码
a = 10

这行代码就创建了一个变量,其中a为变量名,=为赋值运算符(表示将=右边的数据放到=左边的空间里)

1.1 变量名

变量名的要求:

  • 变量名必须由数字、字母、下划线组成;
  • 变量名不能以数字开头;
  • 变量名不能与Python中的"关键字"相同;
  • 变量名字母的大小写敏感,例如numNum会被识别为两个不同的变量。

变量名的建议

  • 使用有描述意义的单词作为变量名,表达出变量的作用;

  • 当一个单词不能描述清楚变量的作用时,可以使用多个单词来作为变量名;

  • 当变量名含有多个单词时,常见的命名方法有"驼峰法"和"蛇形法"

    驼峰法:除第一个单词外所有单词的首字母大写(studentName

    蛇形法:每个单词之间用下划连接(teacher_name)

1.2 变量的使用

读取变量的值

使用print函数对变量值进行打印:

python 复制代码
a = 10
print(a) # 10

修改变量的值

对已经存在的变量重新赋值:

python 复制代码
a = 10
a = 20
print(a) # 20

将一个变量的值赋值给另一个变量:

python 复制代码
a = 10
b = 20
b = a
print(a) # 10
print(b) # 10

首次使用赋值运算符设置变量的值,这个过程是创建变量(初始化)

对已经存在的变量进行赋值操作,这个过程是在修改变量的值(重新赋值)

2. 类型

变量有多种类型,需要注意的是Python中变量的类型不需要在定义时显示说明,变量的类型是据赋值的数据类型来确定的

2.1 整数

整数的类型为int

python 复制代码
a = 10
print(type(a)) # <class 'int'>

typeprint一样也是Python种的一个内置函数,它的作用是查看一个变量的类型

注意

与C/C++等编程语言不同,Python中int类型的变量可以表示的数据范围没有上限,理论上只要内存足够大,它就可以表示无限大的数据

2.2 浮点数(小数)

浮点数的类型为float

python 复制代码
a = 0.1
print(type(a)) # <class 'float'>

注意

与C/C++等其他编程语言不同,Python中的浮点数只有float一种类型,没有double类型 。实际上Python中的float就相当于C/C++语言中的double类型,表示双精度浮点数

Python开发者的哲学:用一种方法(最好只有一种方法来做一件事)

2.3 字符串

字符串的类型为str

python 复制代码
a = 'a'
b = '''b'''
c = "c"
d = """d"""
print(a) # a
print(type(a)) # <class 'str'>
print(b) # b
print(type(b)) # <class 'str'>
print(c) # c
print(type(c)) # <class 'str'>
print(d) # d
print(type(d)) # <class 'str'>

字符串可以是用单引号''、双引号""、三单引号''''''、三双引号""""""引起来的一串字符序列

2.3.1 字符串长度

可以用len函数来获取字符串的长度:

python 复制代码
a = 'Jinger'
print(len(a)) # 6
2.3.2 字符串拼接

可以用+来拼接两个字符串

python 复制代码
a = 'code'
b = 'Jinger'
c = a + b
print(c) # codeJinger
print(type(c)) # <class 'str'>
print(len(c)) # 10

2.4 布尔类型

表示真假的类型为bool

python 复制代码
a = True
print(a) # True
print(type(a)) # <class 'bool'>

注意

布尔类型的取值只有两个:True(真)和False(假)

2.5 其他

list
dict
自定义类型

2.6 动态类型特性

2.6.1 动态类型和静态类型
  • 动态类型:在运行时,编译器基于变量的值的类型确定变量的类型;
  • 静态类型:在编译时,编译器基于变量所声明的数据类型确定变量的类型

C/C++等大多数语言都是静态类型语言,在编写静态类型语言的代码时必须声明变量的数据类型。而Python是一种动态类型语言,在编写Python代码时不用声明变量的数据类型。
注意

由于动态类型语言中,变量的类型是取决于变量的值的类型,因此Python中同一个变量在不同时刻的类型可能是不同的

python 复制代码
a = 10
print(a) # 10
print(type(a)) # <class 'int'>
a = 'a'
print(a) # a
print(type(a)) # <class 'str'>
2.6.2 动态类型特性是一把双刃剑
  • 对于中小型程序,它可以大大减少代码量(比如一段代码可以同时支持多种类型)
  • 对于大型程序,它提高了模块之间的交互成本(比如程序员A提供的代码难以被程序员B所理解)

三、注释

1. 注释行

使用#开头的行都是注释,注释可以单独写在一行,也可以写在代码的右侧

python 复制代码
# 这是一个注释
print('hello world') #这也是一个注释

2. 文档字符串

使用三引号引起来的称为文档字符串

python 复制代码
'''
这是一个多行文本注释
这是第一行
这是第二行
这是第三行
'''
"""
这是一个多行文本注释
这是第一行
这是第二行
这是第三行
"""

注意

  • 实际上,Python并没有多行注释的语法,能够以三引号的方式来添加注释,本质是因为Python会忽略未分配给变量的字符串文字
  • 文档字符串一般放在文档的开头用于介绍文档的内容,或者放在函数的前面,用来描述函数,或者放在类的前面,用来描述类

四、输出输入

程序需要和用户进行交互

  • 程序把信息传给用户,称为"输出"
  • 用户把信息传给程序,称为"输入"

输入和输出是依靠控制台的,用户可以通过控制台来输入一些字符串传给程序,程序通过控制台将运行结果输出展示给用户

1. 输出

使用print函数可以将任意类型的数据打印到控制台上

python 复制代码
a = 10
print(a) # 10
b = 'codeJinger'
print(b) # codeJinger

不同类型的数据还可以混合输出,只需要对输出的字符串进行格式化,例如:

python 复制代码
name = 'Jinger'
age = 20
print(f'{name} is {age} years old.') # Jinger is 20 years old.

使用f作为前缀的字符串,称为f-string
f-string中可以使用{}内嵌一个变量或者表达式

2. 输入

使用input函数可以从控制台读取用户输入的数据

python 复制代码
num = input('请输入一个整数:')
print(f'你输入的整数是 {num}')
  • input函数的参数相当于需要打印的一个"提示信息",也可以不填写
  • input返回值是用户输入的内容,是字符串类型(可以进行字符串拼接再打印出来)
python 复制代码
num1 = input('请输入第一个数:')
num2 = input('请输入第二个数:')
num3 = input('请输入第三个数:')
print(f'{num1} + {num2} + {num3} = {num1 + num2 + num3}')

如果想进行算术运算,可以将读取到的值进行类型转换

python 复制代码
num1 = input('请输入第一个数:')
num2 = input('请输入第二个数:')
num1 = int(num1)
num2 = int(num2)
print(f'{num1} + {num2} = {num1 + num2}')

int()可以将一个变量转换为int类型

类似的,float()bool()str()也可以将变量转换为对应类型

五、运算符

1. 算数运算符

Python中的算术运算符包括:+-*/%//(地板除)、**(幂)
注意

  • 0不能作为除数,否则程序会抛异常ZeroDivisionError: division by zero
  • / 两个整数相除后,会得到一个浮点数
  • **可以求一个数的整数次幂,也可以求一个数的小数次幂
  • //是地板除,两个整数相除后得到的是一个整数(会舍弃小数部分,向下取整)

2. 关系运算符

Python中的关系运算符包括:<<=>>===!=

2.1 判断两个字符串是否相等

与C等其他语言不同的,Python中使用==!=可以判断两个字符串是否相等

C语言中==判断的是地址是否相同,所以要判断两个字符串是否相同需要使用strncmp()函数

C++中的string类型字符串可以使用==来判断两个字符串是否相同

2.3 判断两个浮点数是否相同

与C/C++等其他语言不同,Python中不能直接使用==!=来判断两个浮点数是否相同,因为浮点数在计算机中的表示并不是精确的,例如:

python 复制代码
a = 0.1 + 0.2
b = 0.3
print(a) # 0.30000000000000004
print(b) # 0.3
print(f'a == b ? {a == b}') # a == b ? False

正确的判断方式为:判断这两个浮点数的差值是否小于允许的误差范围。

python 复制代码
a = 0.1 + 0.2
b = 0.3
print(a) # 0.30000000000000004
print(b) # 0.3
print(-0.000001 < a - b < 0.000001) # True

3. 逻辑运算符

Python中的逻辑运算符包括:andornot

  • and:与。两侧操作数同时为True时,结果为True;一侧操作数为False时,结果为False。(一假则假
  • or:或。两侧操作数有一侧为True时,结果为True;两侧操作数同时为False时,结果为False。(一真则真
  • not:非。操作数本身为True,则结果为False,操作数本身为False,则结果为True。

注意

  • 与其他编程语言不同,在Python中,a < b and b < c等价于a < b < c;
  • 与其他编程语言类似,Python中也存在短路求值规则,即and左侧为假时,就不会再计算右侧;or左侧为真时,就不会再计算右侧

4. 赋值运算符

Python中的赋值运算符包括:=+=-=/=%=//=**=&=|=^=<<=``>>=

4.1 同时对多个变量赋值

4.1.1 链式赋值
python 复制代码
a = b = 10
print(a) # 10
print(b) # 10
4.1.2 多元赋值
python 复制代码
a, b, c = 10, 20, 30
print(a) # 10
print(b) # 20
print(c) # 30

多元赋值还可以解决一些特殊问题,比如进行两个变量的交换

python 复制代码
a = 10
b = 20
a, b = b, a
print(a) # 20
print(b) # 10

4.2 复合赋值运算符

对于复合赋值运算符来说,a += 1等价于a = a + 1,其他复合赋值运算符也是一样的
注意

C/C++等其他编程语言支持++--等运算符,但是Python中不支持这种运算符,只能使用+=-=进行等价操作

5. 其他

Python中还有身份运算符(isis not)、成员运算符(innot in)、位运算符(&|^~<<>>)等。


总结

以上就是今天要讲的内容,本文介绍了Python中的一些基础知识。本文作者目前也是正在学习Python相关的知识,如果文章中的内容有错误或者不严谨的部分,欢迎大家在评论区指出,也欢迎大家在评论区提问、交流。

最后,如果本篇文章对你有所启发的话,希望可以多多支持作者,谢谢大家!

相关推荐
lsx2024062 小时前
JavaScript Math(算数)详解
开发语言
csbysj20202 小时前
Debian Docker 安装指南
开发语言
ShineWinsu2 小时前
对于模拟实现C++list类的详细解析—上
开发语言·数据结构·c++·算法·面试·stl·list
Mr YiRan2 小时前
C++语言类中各个重要函数原理
java·开发语言·c++
chilavert3182 小时前
技术演进中的开发沉思-370:final 关键字(上)
java·开发语言
一切顺势而行2 小时前
python 文件目录操作
java·前端·python
woshikejiaih2 小时前
2026年阅读软件Top5避坑攻略:告别卡顿闪退提升沉浸感
人工智能·python
遇见你的雩风3 小时前
【Golang】--- Channel
开发语言·golang
007张三丰3 小时前
2026马年开年寄语
python·ai工具·祝福·新技术·新年·马年