Python_基础语法

Python基础语法

1、基本数据类型

Number(数字)
String(字符串)
bool(布尔类型)
List(列表)
Tuple(元组)
Set(集合)
Dictionary(字典)

  • Number(数字)、String(字符串)、Tuple(元组)为不可变数据
  • List(列表)、Dictionary(字典)、Set(集合)为可变数据

1.1 运算符

1.1.1 算术运算符

+ 加 - 两个对象相加
- 减 - 得到负数或是一个数减去另一个数
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串
/ 除 - x 除以 y
% 取模 - 返回除法的余数
** 幂 - 返回x的y次幂
// 取整除 - 往小的方向取整数

1.1.2 比较运算符

== 等于 - 比较对象是否相等
!= 不等于 - 比较两个对象是否不相等
> 大于 - 返回x是否大于y
< 小于 - 返回x是否小于y
>= 大于等于 - 返回x是否大于等于y
<= 小于等于 - 返回x是否小于等于y

1.1.3 赋值运算符

= 简单的赋值运算符
+= 加法赋值运算符
-= 减法赋值运算符
*= 乘法赋值运算符
/= 除法赋值运算符
%= 取模赋值运算符
**= 幂赋值运算符
//= 取整除赋值运算符
:= 海象运算符,这个运算符的主要目的是在表达式中同时进行赋值和返回赋值的值。Python3.8 版本新增运算符

1.1.4 位运算符

& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1
^ 按位异或运算符:当两对应的二进位相异时,结果为1
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<“右边的数指定移动的位数,高位丢弃,低位补0
>> 右移动运算符:把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数

1.1.5 逻辑运算符

x and y 布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值
x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值
not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

1.1.6 成员运算符

in 如果在指定的序列中找到值返回 True,否则返回 False
not in 如果在指定的序列中没有找到值返回 True,否则返回 False

1.1.7 身份运算符

is 判断两个标识符是不是引用自一个对象
is not 判断两个标识符是不是引用自不同对象

1.2 数据类型

1.2.1 Number(数字)
1.2.1.1 概述

数字数据类型用于存储数值
数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间

1.2.1.2 类型
  • int (整数), 如 1
  • float (浮点数), 如 1.23、3E-2
  • complex (复数), 如 1 + 2j、 1.1 + 2.2
1.2.1.3 数字类型转换

int(x) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式

1.2.1.3 常用函数

abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示
pow(x, y) x**y 运算后的值
round(x [,n]) 返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random() 随机生成下一个实数,它在[0,1)范围内
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内
pi 数学常量 pi(圆周率,一般以π来表示)
e 数学常量 e,e即自然常数(自然常数)

1.2.2 字符串(String)
1.2.2.1 概述

字符串是 Python 中最常用的数据类型,可以使用引号( ’ 或 " )创建字符串,用三引号(‘’’ 或 “”")创建多行字符串
字符串值不可更改

1.2.2.2 访问字符串中的值

可以使用方括号[]来访问或截取,语法格式:str[start:end:setp]
其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引,step步长可省略
索引,从左往右以 0 开始,从右往左以 -1 开始

1.2.2.3 字符串运算符

+ 字符串连接
* 重复输出字符串
[] 通过索引获取字符串中字符
[ : ] 截取字符串中的一部分,遵循左闭右开原则,str[0:2] 不包含第3个字符
in 成员运算符 - 如果字符串中包含给定的字符返回 True
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True
r/R 原始字符串 - 所有字符串按照字面意思来使用,没有转义特殊或不能打印的字符。 使用时在字符串的第一个引号前加上字母 r(可以大小写)
% 格式字符串

1.2.2.3 字符串格式化

格式化操作符
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0 显示的数字前面填充’0’而不是默认的空格
% ‘%%‘输出一个单一的’%’

  1. 使用%格式化
    %s 格式化字符串
    %d 格式化整数
    %f 格式化浮点数字,可指定小数点后的精度,如:%.2f

例:print (“我叫%s,今年%d岁!”%(‘小明’, 10))

  1. 使用.format格式化

例1:print (“我叫{},今年{}岁!”.format(‘小明’, 10))
例2:print (“我叫{},今年{:.2f}岁!”.format(“小明”,10))

1.2.2.3 常用函数

capitalize() 将字符串的第一个字符转换为大写
count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常。
join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
len(string) 返回字符串长度
lower() 转换字符串中所有大写字符为小写.
lstrip() 截掉字符串左边的空格或指定字符。
max(str) 返回字符串 str 中最大的字母。
min(str) 返回字符串 str 中最小的字母。
replace(old, new [, max]) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
strip([chars]) 在字符串上执行 lstrip()和 rstrip()
title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
upper() 转换字符串中的小写字母为大写

1.2.3 bool(布尔类型)

即 True 或 False

1.2.4 List(列表)
1.2.4.1 概述

列表是最常用的 Python 数据类型,列表写在方括号 [] 之间,元素用逗号隔开
列表的数据项不需要具有相同的类型
列表中的元素是可以改变的

1.2.4.2 访问列表中的值

可以使用方括号[]来访问或截取,语法格式:str[start:end:setp]
其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引,step步长可省略
索引,从左往右以 0 开始,从右往左以 -1 开始

1.2.4.3 操作符

[1, 2, 3] + [4, 5, 6] 组合
['Hi!'] * 4 重复
3 in [1, 2, 3] 元素是否存在于列表中
for x in [1, 2, 3]: print(x, end=" ") 迭代

1.2.4.4 常用函数和方法

del list[索引] 删除元素
len(list) 列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将元组转换为列表
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort( key=None, reverse=False) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表

1.2.5 Tuple(元组)
1.2.5.1 概述

元组与列表类似,区别在于值不能修改
元组写在小括号 () 里,元素用逗号隔开
注意:元组只有一个元素时,需在元素后面添加逗号

1.2.5.2 访问元组中的值

可以使用方括号[]来访问或截取,语法格式:str[start:end:setp]
其中 start(包含)是切片开始的索引,end(不包含)是切片结束的索引,step步长可省略
索引,从左往右以 0 开始,从右往左以 -1 开始

1.2.5.3 操作符

(1, 2, 3) + (4, 5, 6) 组合
('Hi!',) * 4 重复
3 in (1, 2, 3) 元素是否存在于元组中
for x in (1, 2, 3): print(x, end=" ") 迭代

1.2.5.4 常用函数

len(tuple) 计算元组元素个数
max(tuple) 返回元组中元素最大值
min(tuple) 返回元组中元素最小值
tuple(iterable) 将可迭代系列转换为元组

1.2.6 Set(集合)
1.2.6.1 概述

集合是一种无序、可变的数据类型,用于存储唯一的元素。集合使用大括号 {} 表示,元素之间用逗号分隔
{}set()创建集合,其中,空集合不能用{}表示

1.2.6.2 常用函数和方法

add() 为集合添加元素
clear() 移除集合中的所有元素
copy() 拷贝一个集合
discard() 删除集合中指定的元素
pop() 随机移除元素
remove() 移除指定元素
union() 返回两个集合的并集
update() 给集合添加元素
len() 计算集合元素个数

1.2.7 Dictionary(字典)
1.2.7.1 概述

字典是一个无序的 键(key) : 值(value) 的集合。其中,键(key)是唯一的
{}dict()创建字典

1.2.7.2 访问字典值

字典名[key]
新增或修改字典元素:字典名[key]=value

1.2.7.3 常用函数和方法

len(dict) 计算字典元素个数,即键的总数。
str(dict) 输出字典,可以打印的字符串表示。
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict 如果键在字典dict里返回true,否则返回false
dict.items() 以列表返回一个视图对象
dict.keys() 返回一个视图对象
dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) 把字典dict2的键/值对更新到dict里
dict.values() 返回一个视图对象
pop(key[,default]) 删除字典 key(键)所对应的值,返回被删除的值。
popitem() 返回并删除字典中的最后一对键和值。

1.3 数据类型转换

int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
str(x) 将对象 x 转换为字符串
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

2、控制语句

2.1 条件语句

2.1.1 if
if condition_1:  
    statement_block_1  
elif condition_2:  
    statement_block_2  
else:  
    statement_block_3
2.1.1 match…case
match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:
        <action_wildcard>

2.2 循环语句

2.2.1 while
while condition:
    statements
2.2.2 for
for <variable> in <sequence>:
    <statements>
else:
    <statements>
2.2.3 补充
  1. for循环结合range(start,end,step) 使用
    for i in range(5)
    for i in range(5,9)
    for i in range(0, 10, 3)
  2. 跳出循环
    break跳出当前循环
    continue跳出本次循环,继续下一次循环

2.3 推导式

2.3.1 列表(list)推导式
[表达式 for 变量 in 列表]
[表达式 for 变量 in 列表 if 条件]
2.3.2 字典(dict)推导式
{ key_expr: value_expr for value in collection }
{ key_expr: value_expr for value in collection if condition }
2.3.3 集合(set)推导式
{ expression for item in Sequence }
{ expression for item in Sequence if conditional }
2.3.4 元组(tuple)推导式
(expression for item in Sequence )
(expression for item in Sequence if conditional )

3、函数

3.1 函数

def 函数名(参数列表):
函数体 

3.2 lambda(匿名函数)

lambda [arg1 [,arg2,.....argn]]:expression

4、其他

4.1 注释

单行注释:以 # 开头
多行注释:用三个单引号 ‘’’ 或者三个双引号 “”" 将注释内容括起来

4.2 导入模块

将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *

4.3 输入输出

print()input()函数

4.4 读写文件

4.4.1 打开文件

open(filename, mode)
其中,mode决定打开文件的模式,默认文件访问模式为只读®,具体如下:
r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。
r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

4.4.2 文件读写

f.read([size]) 读取指定数目的数据,为空读取全部数据
f.readline() 从文件中读取单独的一行
f.readline() 从文件中读取单独的一行
f.write(string) 将 string 写入到文件中, 然后返回写入的字符数
f.close() 关闭文件并释放系统资源

4.5 异常处理

4.5.1 try…except
try:
    执行代码
except ValueError:
    发生异常时执行的代码
4.5.2 try…except…else
try:
    执行代码
except:
    发生异常时执行的代码
else:
    没有异常时执行的代码
4.5.3 try…except…else…finally
try:
    执行代码
except:
    发生异常时执行的代码
else:
    没有异常时执行的代码
finally:
    不管有无异常都会执行的代码

4.6 Python3标准库

  • os 模块:与操作系统交互的函数,例如创建、移动和删除文件和目录,以及访问环境变量等。
  • sys 模块:与 Python 解释器和系统相关的功能,例如解释器的版本和路径,以及与 stdin、stdout 和 stderr 相关的信息。
  • time 模块:处理时间的函数,例如获取当前时间、格式化日期和时间、计时等。
  • datetime 模块:更高级的日期和时间处理函数,例如处理时区、计算时间差、计算日期差等。
  • random 模块:生成随机数的函数,例如生成随机整数、浮点数、序列等。
  • math 模块:数学函数,例如三角函数、对数函数、指数函数、常数等。
  • re 模块:正则表达式处理函数,可以用于文本搜索、替换、分割等。
  • json 模块:JSON 编码和解码函数,可以将 Python 对象转换为 JSON 格式,并从 JSON 格式中解析出 Python 对象。
  • urllib 模块:访问网页和处理URL,包括下载文件、发送 POST 请求、处理 cookies 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值