Python基础
python基础
python简介
- python是一门解释型,面向对象的高级编程语言。开源免费,支持交互式,可跨平台移植的脚本语言。
 
优点:
- 开源,易于维护。
 - 可移植。
 - 易于使用,简单优雅。
 - 广泛的库。
 
缺点:
- 运行速度慢。
 - 代码不能加密。
 
- python的应用:数据分析,科学计算,网络爬虫,软件开发,web开发,人工智能
 
python基础
变量
- 变量可以是任意的数据类型。
 - 变量名必须是的大小写英文,数字和下划线组成,且不能以数字开头。
 
标识符和关键字
- 关键字是一些具有特殊功能标识符。
 - python中不允许自定义和关键字相同的名字的标识符。
 
输出
- 普通输出
 - 格式化输出
 
1  | print("标准化输出字符穿")  | 
输入
- input()的小括号放入提示信息
 - input()在从键盘获取了数据以后,会存放到等号左边的变量中
 - input()函数接受的输入必须是表达式
 
运算符和表达式
运算符
- 算数运算符:+,-,*,/。%(求余),**(幂),//(整除)
 - 比较运算符:==,!=,<,>,<=,>=
 - 赋值运算符:=,+=,-=,*=,/+,%=,**=,//=(c += a,c = c + a)
 - 位运算符:&,|,^,~,<<,>>
 - 逻辑运算符:and,or,not
 - 成员运算符:in,not in
 - 身份运算符:is,is not
 
运算符优先级:
判断语句和循环语句
判断语句:
1  | if True:  | 
- 分数评级
 
1  | score = int(input("请输入你的分数:"))  | 
- 石头剪刀布
 
循环语句:
- for语句
 
1  | for i in range(5):  | 
- while语句
 
1  | count = 0  | 
- 1-100求和
 - 九九乘法表
 
break,continue,pass语句:
- break语句可以跳出for和while的循环体
 - continue语句跳过当前循环,进入下一轮循环
 - pass是空语句,占位语句
 
字符串,列表,元组,字典
字符串(string)
1  | word = '字符串'  | 
- 转义字符
 
1  | \\ # 反斜杠  | 
- 字符串的常见操作
 
列表(list)
- 列表中元素的类型可以不相同,可以是数字,字符串甚至是列表(嵌套)
 - 列表是写在方括号[]内,用逗号分隔的元素列表。
 - 列表索引值0为开始值,-1为末尾的开始位置
 
1  | namelist = ["张", "王", "李", "赵"]  | 
增
1  | # append(在末尾增加元素,整体添加) extend(逐一添加)  | 
删
1  | moviename = ["肖申克的救赎", "阿甘正传", "速度与激情", "黑客帝国", "骇客帝国"]  | 
改
1  | moviename = ["肖申克的救赎", "阿甘正传", "速度与激情", "黑客帝国", "骇客帝国"]  | 
查
1  | namelist = ["张", "王", "李", "赵", "孙"]  | 
排序
1  | a = [1,4,2,3]  | 
- 列表的应用
 
1  | import random  | 
元组(tuple)
- tuple与list类似,tuple中的元素不能修改。
 - tuple写在小括号里,元素之间用逗号隔开。
 - 元组得元素不可变,但可以包含可变对象。
 
1  | tup1 = () # 创建空元组  | 
1  | tup1 = ("abc","def",2000,2020)  | 
字典(dict)
- 字典是无序得对象集合,使用键-值(key-value)存储。
 - 键(key)必须使用不可变类型。
 - 同一个字典中,键必须是唯一的。
 
1  | info = {"name":"bkys", "age":"18"} # 定义一个字典  | 
增
1  | info = {"name":"bkys", "age":"18"}  | 
删
1  | info = {"name":"bkys", "age":"18"}  | 
1  | info = {"name":"bkys", "age":"18"}  | 
改
1  | info = {"name":"bkys", "age":"18"}  | 
查
1  | info = {"name":"bkys", "age":"18"}  | 
1  | # 使用枚举函数,同时拿到列表中的下标和元素内容  | 
集合(set)
- set和dict类似,是一组key的集合,不储存value。(key不重复)
 - set是无序的,重复的元素在set中自动过滤
 
| 是否有序 | 是否可变类型 | |
|---|---|---|
| 列表[] | 有序 | 可变类型 | 
| 元组() | 有序 | 不可变类型 | 
| 字典{} | 无序 | key不可变,value可变 | 
| 集合{} | 无序 | 可变类型(不重复) | 
函数
- 无参数,无返回值
 
1  | def 函数名():  | 
- 有参数
 
1  | def add2num(a,b):  | 
- 有参数,有返回值
 
1  | def add2num(a,b):  | 
- 返回多个值
 
1  | def divid(a, b):  | 
- 全局变量和局部变量
 - 在一个函数中定义的变量,只能在本函数中用
 - 在函数外定义的变量,可以在所有的函数中使用
 
文件操作
| 模式 | 描述 | 
|---|---|
| r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 | 
| w | 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | 
| r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 | 
| w+ | 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | 
| rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。 | 
| rb+ | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。 | 
| wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | 
| wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。 | 
| a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 | 
| a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 | 
| ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 | 
| ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 | 
1  | f = open("test.txt", "w") # 打开文件,w模式,文件不存在则新建  | 
- read方法,读取指定的字符,开始时定位在文件头部,每执行一次,向后移动指定数
 
1  | f = open("test.txt","r")  | 
1  | # readlines方法,读完所有文档,形成一个列表  | 
- os模块
 
1  | import os  | 
文件错误与异常
1  | print("test1")  | 
- 捕获异常
 
1  | try:  | 
1  | try:  | 
1  | try:  | 
- 获取错误描述
 
1  | try:  | 
- 获取所有异常
 
1  | try:  | 
- 异常处理
 
1  | import time  | 
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Libraの客栈!

