基础
基本命令
python自带编译器
- python -V //查看版本
- python --version
乱七八糟的东西
- 在线编辑器
链接 - 注释
# 单行注释 快捷键 Ctrl+/ (注释,反注释)
""" 多行注释
单引号双引号等同
"""
- 自带模块
# from math import sqrt # 导入模块里的方法
# from math import *
import math #导入模块
a=math.sqrt(4)#平方根
print(a)
- 安装第三方模块
pip install 模块名
- 环境
(venv)虚拟环境
where python //查看python路径
Settings // Ctrl+Alt+S
- 报错信息
缩进异常
python用缩进代表作用域,在没有:的情况下,所有代码需要顶格写
若某行出现:下一行开始缩进(4个空格 /tab) - 转义字符 \ \n 换行 \t 空格
- 单双三引号
- 关键字
import keyword
print(keyword.kwlist)
方法
- input() //类型都是str
- format()
- type() //判断数据类型
- float(5)//数据类型转换
运算符
算术运算符
- / + - * % ** 乘方 //取整
比较运算符
-
< >= <= != ==
逻辑运算符
- and
- or
- not()
随机数
from random import randint
sum=randint(1,20)
print(sum)
条件判断
if 条件:
执行体
else:
执行体
if 条件:
执行体
elif 条件:
执行体
else:
执行体
数据类型
- int 整型
- float 浮点型
- str 字符串
- 布尔 True False
- list 有序列表
字符串
- 索引 正排从0 倒排-1
str_1="迷茫的时候该干什么"
print(str_1[0])
print(str_1[0:6:1]) #迷茫的时候该 前闭后开
print(str_1[0:6:2]) #迷的候
print(str_1[1::2]) #茫时该什
print(str_1[::2]) #迷的候干么 从开始到最后都包括
print(str_1[:8:2]) #迷的候干
print(str_1[-4:-1]) #该干什
print(str_1[-1:-4:-1]) #么什干
print(str_1[-4:-1:1]) #该干什
print(str_1[::-1]) #么什干该候时的茫迷 倒叙输出
- 拼接 str+str
str_2="学习"
str_3="跟业内人士探讨"
str_3=str_2+str_3
print(str_3) #学习跟业内人士探讨
print(str_2*3)
- 输出 format
str_4='''
my name is %s
my age is %d
'''%('stone',24) # %S格式化字符串 %d 格式化整数
"我叫{},今年{}岁".format("stone",17)
- 将字符串的第一个单词转化为大写 capitalize
str_5='hello everyone'
print(str_5.capitalize())
- 替换 replace
str_5='hello everyone'
print(str_5.replace("one","body"))
print(str_5.replace("o","a",1))#只替换第一个
- 统计 count
str_5='hello everyone'
print(str_5.count("o"))# 2
print(str_5.count("a")) #0
- 查找 find index
str_5='hello everyone'
print(str_5.find("f"))# -1
print(str_2.find("o")) #4
print(str_2.index("l")) #2
print(str_2.index("a")) #报错
- 方法
islower()
isupper() //判断字符串是否全部为大写
isdigit() //是否全为数字
upper() //把所有单词转换成大写
lower()//把所有单词转换成小写
title() //把每个单词首字母转换成大写 - 切片 split
str_5='hello everyone'
print(str_5.split(" "))# ["hello","everyone"]
- 以指定的字符分割 join
str_5='hello everyone'
print(" ".join(str_5))# h e l l o e v e r y o n e
print("".join(str_5))# hello everyone
st="apple,banana,orange,grape,peach"
sst=st.split(",")
print(sst)#['apple', 'banana', 'orange', 'grape', 'peach']
print("".join(sst))#applebananaorangegrapepeach
print(",".join(sst))#apple,banana,orange,grape,peach
生成新的字符串
list
- 取值,替换
list_1=[1,2,"stone",4,[5,6],["123"]]
print(list_1[-1][0][1]) #2
list_1[0]=7
name = ["a", "b", "a", "c"]
name2 = [2, 4, 6]
print(name.count("a"))
print(name.index("b"))
name.append("d")
print(name)
name.insert(0, "t")
print(name)
list_1.append(name)
print(list_1)
name2.extend(name)
print(name2)
- 删除
name=["stone","apple","dog","cat","stone"]
name.remove("stone")
print(name)
print(name.pop()) #不写参数默认删除最后一个
print(name)
name.clear() #将里面的元素清除
print(name)
del name #彻底删除 从内存释放
4. 深拷贝 拷贝后不随着变化
浅拷贝 拷贝后同步变化
list排序
num = [2, 3, 4, 5, 6, 7, 8, 9]
num.sort()
print(num) # 正排 [2, 3, 4, 5, 6, 7, 8, 9]
num.reverse()
print(num) # 倒排 [9, 8, 7, 6, 5, 4, 3, 2]
num1 = ["45", "46", "12", "24", "0", "100", "s23", "a2", "129"]
num1.sort()
print(num1) # ['0', '100', '12', '129', '24', '45', '46', 'a2', 's23']
num1.reverse()
print(num1) # ['s23', 'a2', '46', '45', '24', '129', '12', '100', '0']
list去重
la = [1, 3, 5, 4, 3, 8, 7, 2, 5, 6, 2, 6, 2, 4, 5]
print(set(la)) # {1, 2, 3, 4, 5, 6, 7, 8} 3.6以后变成有序
print(list(set(la))) # [1, 2, 3, 4, 5, 6, 7, 8]
转化
age = [13, 52, 34, 44]
s = str(age)
print(s, type(s)) #[13, 52, 34, 44] <class 'str'>
e = eval("1+2+3+4") #还原字符串里的东西
print(e, type(e)) # 10 <class 'int'>
print(list({"a": 1, "b": 2})) #['a', 'b']