一、Python安装
- 环境变量的作用是快捷方式,系统可以直接运行对应目录的程序
- 首次安装要勾选添加到path
- 路径要自定义
- cmd中运行python确认是否安装成功
- 环境变量可自配置,每次修改需要重启电脑才能生效
二、pycharm使用
- pycharm中Terminal相当于cmd
- python是pycharm代码解释,pycharm是将二者融合的工具
- 创建项目不要选虚拟环境,要选电脑已经现有的
三、必备语法:
- 标识符
数字,字母,下划线,不能以数字开头
不能包含关键字
主要:项目名 模块名 包名 类名 函数名 变量名
变量名:用来存储数据的容器
不能以数字开头,下划线开头有特殊含义,以字母开头最好,有红色波浪线即有问题
不能用关键字做变量,看颜色,有问题会显示波浪线引用前必须定义并赋值
- 缩进与行
行:换行即代表新语句
缩进:控制层级,父子级,顺序执行;所有代码顶格写,不能随意缩进
多行语句:单双三,都是字符串,
单双嵌套,三引号可嵌套单双
单引号换行拼接要带换行符,三引号可以保持字符串格式
三引号可以注释多行代码,单行注释#,Ctrl+/,尽量专业描述
‘1’,带双, ’ “1” ’
“2”,带单," ‘2’ "
“”“3"”",带单,""" ‘3’ “”"
‘’‘3’’’,带双,’’’ “3” ‘’’
import keyword
print(keyword.kwlist)
输出所有关键字:
‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]
- 输入与输出
print多个输出,逗号隔开,字符串要有引号
input 输入都是字符串
四、数据类型
类型:
数字、布尔值、字符串、元组、列表、字典、集合
- 数字:
整数 int
浮点数 float
type()判断数据类型 - 布尔值:
Ture False 首字母大写
1:非零值 非空字符串/非空列表/非空元组/非空字典 --Ture
0:空字符串/空列表/空元组/空字典 --False
- 字符串:引号括起来的内容
索引(下标)正序从0开始,从-1开始,空格也算1个字符
P y t h o n
0 1 2 3 4 5
-1 -2 -3 -4 -5 -6
查找:
字符串名[索引],print(s[0]) --P
长度判断:print(len(s))
空字符串:s=’ ‘,
字符串拼接:+,多个输出用“,“打印出来中间有空格
特殊字符:\n 换行,\r 前面部分不输出,\t 转义符(输出为空格)
去掉特殊字符效果,字符串前加 R、r、
格式化输出(占坑):
第一种:%d(数字) %s(字符串) %f (浮点数)占坑
第二种:{},无类型限制,{}跟数据个数最好一直,如果不一致{}要比值得数量少
有索引,从0开始,如果设索引,每个数据都要设
find()函数
没找到返回-1,找到返回对应索引:find(s.find(‘n’,11) 多个字符串返回第一个字符索引,11表示从第11个索引开始找
isdigit()如果只包含数字返回true,否则返回false
replace()函数
指替换内容以及被替换的字符串,并且可以指定替换次数
new_s=s.replace(‘n’,‘k’),k替换n,默认全部替换,(‘n’,‘k’,1)替换1次
split()函数
根据指定字符对字符串进行切割
s.split(‘n’,1),根据n去分割,默认全部切割,1表示切割1次,切割出来n是空格
strip()函数
去掉头和尾指定的字符 s.strip(’/n’)
upper()函数
字符串字母转大写 s.upper()
lower()
字符串字母转小写 s.lower()
swapcase()函数
字符串的大小写互换 s.swapcase()
切片(slice):
从字符串中获取子字符串(字符串的一部分) 格式:[start🔚step]
start 默认0,end默认-1,取头不取尾,step是步长,默认为1,倒序时end为0不要写
从头取到尾:print(s[:]) 从开头取到结尾:print(s[start:]) end-1
获取所有奇偶数位,step变成2
倒序输出时step为-1 [::-1]
- 元组
关键字tuple(),可以放数字,布尔值,字符串,逗号分隔,有序不可改的数据
t=()空元组
只有1个元素,要在元素后加‘,’,t=(1,)
有序:有索引,索引同字符串
嵌套取值:print(t[-1][-1][-1])
切片:同字符串
获取x的索引值:index(x)
统计x的个数:count(x),Ture算1,false算0
- 列表
关键字:list,标识[],有序数据,可变
空列表t=[]
列表可以任何数据数字、布尔值、字符串、元组、列表(还可以嵌套列表),逗号分隔
查找和切片同字符串、元组
元组和列表的不同:
元组不可变,列表可变;元组只有一个元素要加逗号,列表无需;元组tuple(),列表list[]
相同:
有序,有索引;根据索引取值;切片方法方式一样
增加元素:
t.append() 默认在最佳在末尾,,每次只能增加1个元素
t.insert(1,‘lemon’),插入到2索引1的位置,原来排序往后挪一位
t.extend([1,2,3]) 增加(扩展)列表 合并列表
s=[1,2,3],t=t+s,列表相加
嵌套列表也支持
改元素:赋值的方法 列表名[索引值]=新值
删元素:
t.pop() 默认删除最后一个元素,可以在括号里指定要删除元素的索引
t.clear() 清空列表
t.index(1) 确定元素所在的索引位置
t.count(1) 统计列表中该元素的个数(嵌套在元组或列表中的不算)
- 字典dictionary
关键字:dictionary,用{}标识,无序的对象集合,可变,以键值对的形式存储key:value,key是唯一不可变的数据类型(int float tuple boolen str),value是任何数据都支持
d={1:‘no 1’,0.02:'零花钱‘} 1和0.02分别是整数和浮点数作为key
无序:
每次输出的顺序会改变
取值:
根据key取值 字典名[key] print(d[1])
列表:key必须是唯一不重复的 出现重复的,后面的值会把前面的覆盖掉 (布尔值和0,1算重复)
使用:当值要成对存储时,如成绩{“姓名”:分数}
嵌套取值:根据key一层层取值
增:d[不存在的key]=新值
改:d[已存在的key]=新值
删:d.pop(key)根据key删除键值对
d.clear() 清空词典
d.popitem() 随机删除某个键值对
items()返回所有值 print(d.items())
keys() 以列表形式返回所有的键 print(keys())
values()以列表形式返回所有的值 print(values())