Python学习笔记 -- 基础语法篇

目录

[一. 数据类型](#一. 数据类型)

[二. 注释](#二. 注释)

[三. 输入输出及强制类型转换](#三. 输入输出及强制类型转换)

[3.1 print和input](#3.1 print和input)

[3.2 强制类型转换](#3.2 强制类型转换)

[四. 运算符](#四. 运算符)

[4.1 算数运算符](#4.1 算数运算符)

[4.2 比较运算符](#4.2 比较运算符)

[4.3 逻辑运算符](#4.3 逻辑运算符)

[五. 多元赋值](#五. 多元赋值)

[六. 条件语句](#六. 条件语句)

[七. 循环语句](#七. 循环语句)

[7.1 while循环](#7.1 while循环)

[7.2 for循环](#7.2 for循环)

[7.3 continue和break](#7.3 continue和break)


一. 数据类型

与C/C++不同,python支持自动类型推导,不需要显示声明变量的类型(显示声明也可),++使用print(type(变量名))可以获取变量的类型++,python的内置变量类型有整形int、字符串类型str、布尔类型bool以及浮点数类型float:

整形int

语法:a = 10 -- 隐藏类型,显示声明为a:int = 10

a = 10
b:int = 10
print(type(a))   # <class 'int'>
print(type(b))   # <class 'int'>

字符串类型str

语法:s = 'abc' ,显示声明为:s:str = 'abc'

python为弱语言,还支持双引号(")和三引号(''')来表示字符串,++printf(s1 + s2)表示输出两个字符串连接后的结果,len(str)可以获取字符串的长度++。

s1 = 'abc'
s2:str = 'def'
s3 = "hello"
s4 = '''world'''

print(type(s1))    # <class 'str'>
print(type(s3))    # <class 'str'>
print(type(s4))    # <class 'str'>

print(s1 + s2)     # abcdef
print(s3 + s4)     # helloworld

print(len(s1))     # 3
print(len(s3))     # 3
print(len(s4))     # 5

布尔类型bool

布尔类型,即真假类型,++只有True和False两种数据++,注意与C/C++的true/false区分。

b1 = True
b2 = False
b3:bool = True

print(type(b1))  # <class 'bool'>
print(b1)        # True
print(b2)        # False

浮点数类型float

浮点数类型,即小数类型,python不区分单精度浮点数和双精度浮点数,float类型遵守C/C++同样的IEEE 754标准。

f1 = 3.14
f2:float = 1.2345
print(type(f1))   # <class 'float'>
print(f1)         # 3.14
print(f2)         # 1.2345

二. 注释

在python中,注释可以分为两种:(1). 行注释 (2). 文档注释

其中行注释采用 # ,文档注释采用一对三引号来注释 ''' '''。

a = 10   # 行注释
'''
文档内容注释
'''
print(a)

三. 输入输出及强制类型转换

3.1 print和input

print是Python自带的打印输出函数,类似于C/C++的printf,print支持格式化的输出数据,print的使用语法如下:

  • print(val) -- 打印出变量val的值。

  • print(f'val = {val}'),其中单引号外面的f表示格式化输出,{val}表示获取变量val的值。

    a = 10
    print(a) # 10
    print(f'a = {a}') # a = 10

input用于在键盘上输入数据,来给某个特定的变量赋值,input的使用语法为:

  • val = input('提示信息') -- 从键盘输入中获取val的值。

++**注意:**从input接收数据的变量,默认类型都是str,如果要进行运算,需要进行强转类型转换。++

val = input('请输入val的值:')
print(type(val))     # <class 'str'>
print(f'val = {val}')

3.2 强制类型转换

python进行强转类型转换的语法为:类型(变量名)

这里要注意与C/C++进行区分,C/C++的强转类型转换时类型用括号括起来 -- (类型)变量名,python是变量名称用括号括起来 -- 类型(变量名)。

转整形:int(a); 转字符串:str(a);转浮点数float(a);

val = input('请输入val的值:')
print(type(val))   # <class 'str'>
val = int(val)
print(type(val))   # <class 'str'>

四. 运算符

4.1 算数运算符

常见的算数运算符如:+ - * / %,与C/C++中的加、减、乘、除、取模意义完全相同,python引入了两个新的算数运算符:** 和 //。

  • ** 运算符:开方运算,a ** b 表示a的b次方。
  • // 运算符:地板除法,获取的结果向下取整。

python支持+=、-=、*=、/=运算符,但是不支持++、-- 运算符。

a = 2
print(a ** 4)   # 计算a的4次方
b = -10
print(b // 3)   # -10地板除3,结果为-4

4.2 比较运算符

python支持>、<、>=、<=、==比较运算符。

python的比较运算符与C/C++有以下两点不同:

  • python支持使用 == 运算符直接比较两个字符串,也可以使用> < >= <= 按照字典序比较字符串类型数据大小,C/C++必须调用函数来对字符串进行比较。

  • python支持连续比较,如 1 <= 2 <= 3 或者 2 == 2 == 2 在python中是被允许的,而在C/C++中连续比较则是被禁止的。

    str1 = 'abc'
    str2 = 'abc'
    str3 = 'abc'
    print(str1 == str2 == str3) # True
    print(1 <= 2 <= 3) # True
    print(5 == 5 < 2) # False
    print(10 > 9 > 3) # True

4.3 逻辑运算符

  • **and:**逻辑与,两侧条件均成立为真,否则为假。
  • **or:**逻辑或,两侧条件其中至少一个成立为真,都不成立为假。
  • **not:**逻辑非,真变假,假变真。

在python中,and和or依然遵循C/C++的短路求值规则。

**condition1 and condition2:**若condition1不成立,那整个表达式不可能成立,不再对condition2进行判断,直接返回假。

condition1 or condition2:若condition1成立,那整个表达式就一定成立,不再对condition2进行判断,直接返回真。

print(1 == 2 or 1 == 1)  # True
print(1 > 2 or 2 == 2)   # True
print(not 1 > 2)   # True
print(not 1 < 2)   # False

五. 多元赋值

多元赋值,即:通过单条语句,实现对多个变量的赋值操作。

语法:变量1,变量2,... = 值1,值2,...

但是,多元赋值在实际的项目开发中并不推荐,如:a,b=10,20 b,a=a,b,可以实现a和b的值交换操作,这样会降低代码的可读性。

val1,val2,val3 = 10,20,30
print(val1,val2,val3)   # 10 20 30

a,b = 10,20
b,a = a,b
print(a,b)  # 20 10

六. 条件语句

python支持 if、if - else、if - elif - else 结构的条件判断,语法结构如下图。

++**注意:**在python中,if中的do_something模块,是依靠缩进来划分的,在C/C++中是依据双大括号{}来进行划分的,相比于C/C++,python对缩进有严格的要求。++
图6.1 python条件判断语法

a = int(input('请输入a的值:'))

if a == 1:
    print('hello world')
elif a == 2:
    print('hello python')
else:
    print('good morning')

七. 循环语句

7.1 while循环

while循环的语法:

while 条件:

循环体

代码示例:使用while循环计算 1 + 2 + 3 + ... + 99 + 100。

sum = 0
i = 1
while i <= 100:
    sum += i
    i += 1
print(f'sum = {sum}')

7.2 for循环

for循环的语法:

for 循环变量 in 可迭代对象:

循环体

**可迭代对象:**内部包含许多值的特殊变量,在for循环中,一般采用range类型的可迭代对象,其中range的定义语法为:range(begin, end, step)

  • 其中begin和end为可迭代对象中,数值的左右区间,遵循左闭右开原则,即:[begin, end),step表示步长,如range(2,12,2)就表示:2, 4, 6, 8, 10。
  • step是可以省略的,默认值为1,如range(1,6)表示:1, 2, 3, 4, 5。
  • step可以为负数,如range(5,0,-1)表示:5, 4, 3, 2, 1。

代码示例:使用for循环计算2 + 4 + 6 + ... + 18 + 20。

sum = 0
for num in range(2, 21, 2):
    sum += num
print(f'sum = {sum}')   # sum = 110

7.3 continue和break

  • **continue:**用于终止本层循环,直接进入下一层循环。
  • **break:**终止整个循环。

代码示例:采用while True循环,打印1 ~ 10,其中略去5不打印。

num = 0
while True:
    num += 1
    if num == 5:
        continue
    if num > 10:
        break
    print(f'num = {num}')
相关推荐
努力变厉害的小超超5 分钟前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
秃头佛爷6 分钟前
Python学习大纲总结及注意事项
开发语言·python·学习
深度学习lover1 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
API快乐传递者2 小时前
淘宝反爬虫机制的主要手段有哪些?
爬虫·python
阡之尘埃4 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
aloha_7895 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
dsywws6 小时前
Linux学习笔记之vim入门
linux·笔记·学习
丕羽7 小时前
【Pytorch】基本语法
人工智能·pytorch·python
bryant_meng8 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
A-超8 小时前
vue3展示pag格式动态图
笔记