Python安装情况检测
Win+R,输入cmd,输入python --version
可查看当前安装版本,eg:
Python&Python集成开发环境安装及环境配置可观看👇
中国大学mooc信息系统安全与对抗实践第三单元Python基础:Python(一)
Python是一种动态类型语言
动态类型语言:在运行阶段才做数据类型检查,即编程时不需要指定数据类型,如Python
静态类型语言:在编译阶段会对数据类型进行检查,即编程时就要声明变量的数据类型,如Java、C/C++
Python语法特点
不需要声明数据类型
a = 10
代码语句不需要加分号
print('hello world')
缩进决定代码块范围,不需要使用大括号
if condition:
print('Answer')
print('True')
else:
print('Answer')
print('False') //缩进不一致会导致运行错误
基本数据类型
-
数值型
整型、浮点型 -
字符串
单引号:str = 'this is a string'
双引号:str = "this is a string"
三引号:str = '''this is a string'''
-
布尔型
表示真/假的变量,只有True/False两个值 -
容器
列表、元组、字典、集合 -
查看数据类型
使用type(x)函数print(type(a))
-
数据类型之间的转换
int(x) --------- 将x转换为一个整数
float(x) ------ 将x转换为一个浮点数
str(x) ---------将x转换为一个字符串 -
容器:一种数据的存储结构,能够更好的管理数据
常用的容器:list【列表】dict【字典】tuple【元组】set【集合】
-
列表:类似C语言的数组
特点:通过索引访问(索引从0开始);列表内数据可以修改
创建语法(中括号):listA = ['a','b','c']
【注】一个列表内可以存放不同数据类型的对象
listA = ['a','b',1.5,2,True]
-
增
listA = ['a','b','c']
listA.append('123') //尾部插入
listA = ['a','b','c']
listA.insert(0,'123') //Insert(索引,内容)指定位置插入
- 删
listA = ['a','b','c']
del listA[0]
- 改
listA = ['a','b','c']
listA[0] = 'haha' //直接通过索引修改数据
- 查
listA = ['a','b','c','d']
print('a' in listA) //True查找列表中是否有某个元素 元素 in 列表名
- 切片:对指定范围的数据进行操作 列表名[起始索引:结束索引]
【注】结束索引不包含在切片内
listA = ['a','b','c','d']
print(listA[1:3]) //表示输出索引位为1,2的元素,对应的字符串'b'和'c'
- 字典
特点:以键值对的形式存储数据,通过“键”访问“值”
创建语法(大括号):dictA = {'name':zhangsan,'age':18,'married':False}
【注】键值对之间通过逗号分隔;“键”与“值”之间通过冒号连接;
“键”要用引号修饰;“键”不能重复,但“值”可以重复 - 增:直接定义键值对
dictA = {'name':zhangshan,'age':18,'married':False}
dictA['school'] = 'bit'
print(dictA)
运行结果:{‘name’:zhangshan,‘age’:18,‘married’:False,‘school’:‘bit’}
- 删:del字典名[‘键’]
dictA = {'name':zhangshan,'age':18,'married':False}
del dictA['name']
print(dictA)
运行结果: {‘age’:18,‘married’:False}
- 改:直接通过键修改对应的值
dictA = {'name':zhangshan,'age':18,'married':False}
dictA['name'] = 'lisi'
print(dictA)
运行结果:{‘name’:‘lisi’,‘age’:18,‘married’:False}
- 查:通过键查找
dictA = {'name':zhangshan,'age':18,'married':False}
print(dictA['age'])
运行结果:18
条件控制和循环语句
- 条件控制语句【注】缩进决定代码块范围
if 条件:
代码块1
else:
代码块2
- 循环语句
while 判断条件:
代码块1
代码块2
a = 1
while a < 5:
print(a)
a = a + 2
for 变量 in 序列: //可以遍历任何序列项目,如列表、字符串
代码块
languages = ['C++','Python']
for language in languages:
print(language)
函数:一段可重复使用的代码块,可以提高代码重复利用率且将程序模块化,能够更好的定位和隔离错误代码
def 函数名(参数列表):
代码段
return 返回值
def sum(a,b):
c = a + b
return c
【注】冒号;缩进;返回值:所有函数都有返回值,如果未指定返回值,则默认返回None(如print函数)
传参方式:
1)位置传参:按照参数的顺序和位置传参
def temp(a,b,c):
print('a=%d' % a,end='\t')
print('b=%d' % b,end='\t')
print('c=%d' % c,end='\t')
函数调用:
temp(1,2,3)
运行结果:
a =1 b=2 c=3
2)关键字传参:指定参数名进行传参
def temp(a,b,c):
print('a=%d' % a,end='\t') //end = “” 表示对象以什么结尾,默认是\n也就是换行
print('b=%d' % b,end='\t')
print('c=%d' % c,end='\t')
函数调用:
temp(c=1,a=2,b=3)
运行结果:
a =2 b=3 c=1
文件读写
基本步骤:指定文件名;通过open方法创建一个文件对象;
调用文件对象的相关方法执行读/写操作;关闭文件
file_name = r'D:\test.txt' //指定文件名
//由于路径里有\,所以在前方加r表示该字符串为原始字符串,即忽略其中的转义字符
file = open(file_name,'r+') //创建文件对象
//open(文件路径,权限)
file.write('123') //写入文件
//write(str)参数是字符串,将字符串写入文件
//writelines(list)参数为列表,将列表中的每个元素依次写入文件
result = file.readline(4) //文件读操作
//read():无参数,读取全部内容作为一个字符串返回
//readline(size):读取一行,最多读取size个字节
//readlines():按行读取,且每行内容作为一个元素存到列表里,返回该列表
file.close() //关闭文件
//关闭文件:释放操作系统资源并避免数据丢失 数据(write)-->缓冲区(close)-->磁盘
常用权限:
异常处理
模块
- 模块:.py文件,也是python代码,可以是已有的函数,也可以是自定义类–是可以调用的代码
- 安装:要想使用python库里的模块,需要在命令行中使用如下命令安装模块
pip install 模块名
- 导入:
import 模块名
----附上浙大Python课件里的话
人生苦短,我想用Python!!!