1 标准输入输出
输出print()函数
两个重要参数.1 sep是指定分隔符默认为空格; 2 end表示单位print语句的结束符号,默认是以\n换行符结尾。
输出多个值可用逗号隔开
输入input()函数
该函数可以接受一个字符串, 用来提示用户需要输入什么。注意:无论输入什么, input()返回的都是字符串。
2 变量定义与赋值
a = 1
赋值语句是 =, 左边是变量, 右边是值
本质上是让变量指向该值所在的内存地址, 当使用一个变量的时候, 其实使用的是该变量所指向的内存地址中的那个值
变量的命名规则
1变量名只能是 数字、字母或下划线的任意组合
2变量名的第一个字符不能是数字
3关键字不能声明为变量名
import keyword #关键字的列表
print(keyword.kwlist)
其他了解
1 内置的函数名也不应该作为变量名
2 python中可以使用中文作为变量名(但是不建议)
4 流程控制语句
顺序结构
程序自上而下逐行执行的顺序
分支结构
if条件判断语句
循环结构
while 循环
for 循环
break
打断本层循环
continue
结束本次循环
5 函数
程序中的函数
封装一个功能, 当我们要使用这个功能时直接调用该函数即可
函数的定义关键字 def
函数的返回值return
1 作为函数定义的结束,return后续的函数体,不会被执行
2 另函数本身提供输出结果,供后续使用
函数的参数
直接按照函数是定义阶段还是调用阶段分
函数定义阶段的参数叫形式参数
函数调用阶段的参数叫实际参数
细分
默认参数
函数定义阶段直接赋值了的形参
位置参数
函数调用阶段按照位置顺序传递的实参
关键字参数
函数调用阶段按照形参名赋值的实参
可变长参数
*args
把多余的位置参数以元组的形式储存
**args
把多余的关键字参数以字典的形式存储
6 面向对象编程
两种编程范式
面向过程编程
面向对象编程
对象的概念
对象的两种属性
类
类的创建
class关键字 + 类名(区别于函数定义,不加括号())
类描述
类属性(对象的静态属性)
通过 类名.属性名 = xx的方法进行修改,添加
通过 del 类名.属性名进行删除
类方法(对象的动态属性)
初始化__init()__类方法(实例化时会被自动执行的语句)
其他类方法:需要执行类方法后,才可以通过实例获得相应属性。
通过types 库下的MethodType方法进行添加
关于self参数:在实例化过程中,将参数指向实例
实例
由类这个模版具体出来的某个对象
通过实例对象添加的类属性,不可以通过原始的类名进行访问
通过实例对象添加的类方法,不可以通过原始的类方法进行访问
类的继承
被继承的类称为父类,继承的类为子类
子类享有父类一切属性,同时子类在继承过程中可以添加、修改父类中的属性及方法
7 模块,库,包
模块是具有某种功能的执行文件
包是具有一定结构的由执行文件构成的文件夹
库是一种抽象概念,可以由一个包构成,也可以由多个包构成
模块导入:import 模块名称
使用别名利用重命名as,此时模块名以重命名后的名称为主
多模块可在同行引用,以逗号隔开
自定义模块
8 python与外部交互
I/O操作
开打创建文件open函数,w模式
open/with open
打开文件/读取文件 r模式
read()函数
readlines()函数
追加写入文件 a模式
write()函数
writelines()函数
追加写入并进行读取文件 a+模式
指针控制file.seek()函数
其他操作
创建文件夹 mkdir()
移动文件路径 chdir()
文件重命名 rename()
文件删除 remove()
切记open后确定文件关闭
数据库的交互
pymysql的安装及配置
获得连接参数,并通过connect()函数建立连接
通过cursor()函数建立游标
利用游标.execute()函数进行sql语句的执行
当对表中内容进行添加修改操作后通过commit()函数进行指令提交
3 数据类型
布尔型bool
只有两个取值True or False
运算
算术运算
当做算术运算的时候, True就是1, False就是0
逻辑运算
and or not
数值型
整数int
定义
int()函数将其他数据类型转化为整数型
直接写整数
浮点数float
定义
float()函数将其他数据类型转化为浮点数
直接写浮点数
复数complex
基本很少用到,可以这样定义a =3+4j
运算符
算术运算符
比较运算符
复合赋值运算符
字符串str
特性
1 不可变数据类型
2 有序的数据类型
定义
1 str()函数将其他数据类型转化为字符串
2 直接加引号进行定义
运算
+
字符串的收尾拼接
*
字符串的重复
in
包含
索引和切片
str[开始位置:终止位置:步长和方向]
1 开始位置能取到
2 终止位置取不到(左闭右开)
3 第三个参数如果为正, 则代表从左往右取
重要方法
3个检索的方法
str.count()获得某字符数量
str.find(要查找的对象, 开始位置, 结束位置), 找不到返回-1
str.index(要索引的对象, 开始位置, 结束位置), 找不到就报错
分割的方法
str.split(分隔符, 分割次数)
分隔符默认是以\n \t 空格等特殊字符进行分割
默认分割次数是-1, 即全部分割
返回的是一个列表, 不保留分隔符
1个替换的方法
str.replace(旧字符串, 新字符串, 替换次数)
默认全部替换
1个字符串的格式化方法
str.format()
print('{}的年龄是{}岁{}'.format('小哥哥', 20 ,'!'))
其他方法见字符串课件
列表list
特性
1 可变的数据类型
2 有序的数据类型
定义
1 list()函数将其他数据类型转化为列表
2 直接加[]定义
运算
+
把列表中的元素合并到一个新列表中
*
重复列表中的元素
in
包含
索引和切片, 同字符串
重要方法
增
list.append(要追加的元素)
list.extend(要进行扩展的序列)
list.insert(索引, 要插入的对象)
将对象插入到对应的索引之前
删
del list[要删除元素的索引值]
list.clear()
list.pop(要删除元素的索引)
默认为-1, 即默认删除最后一个元素
list.remove(要移除的元素)
改
list[索引位置] = 新值
查
list.count(要计数的对象)
list.index(要查找的对象)
排序
list.sort()含有参数reverse,默认值为False
拷贝
list.copy()
元组tuple
特性
1 不可变数据类型
2 有序的数据类型
定义
1 tuple()函数将其他数据类型转化为元组
2 直接加()定义
3 单个元素的元组的定义以逗号","为标记
运算
in
包含
索引和切片, 同列表
方法
tuple.count(要计数的对象)
tuple.index(要查找的对象)
字典
特性
1 可变的数据类型
2 无序的数据类型
3 元素是键值对的形式, 键只能是不可变数据类型
定义
1 dict()函数可以将一个二维的东西转变成一个字典, a = dict([['a',1], ['b', 2], [(1, 2), 3]])
2 直接用{}定义
运算
in
判断的是是不是键
方法
增
dict[新键名]= 新值
如果键已经存在, 就是修改该键所对应的值
dic1.update(dic2)
把dict2中的键值对更新到dict1中
删
del dict[键]
dict.clear()
改
dict[新键] = 新值
查
dict[键]
dict.get(键)
dict.keys()
返回包含所有键的列表
dict.values()
返回包含所有值的列表
dict.items()
包含所有键值对的列表
集合
特性
1 可变的数据类型
2 无序的数据类型
3 集合的元素特性和字典的键一样
定义
1 set()函数将其他数据类型转变成集合
2 通过{}直接定义
运算








暂无数据