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の客栈!