一周内容回顾
一周内容回顾
- day01
- day02
- day03
- day04
- day05
day01内容详细
编程语言与编程的概念
1.什么是编程语言
人与计算机之间沟通交流的媒介
2.什么是编程
程序员将自己的思维逻辑和想法用计算机能够理解的语言写下来的过程
编程语言发展史
1.机器语言
2.汇编语言
3.高级语言
# 高级语言:python(解释型) C++ (编译型)
编程语言分类
# 1.编译型 C++
优点
一次性翻译之后可以重复使用翻译之后的结果
缺点
如果过程中有bug 需要从头到尾翻译一遍
# 2.解释型 python
优点
如果过程中有bug 也不影响翻译速度
缺点
执行速度没有编译型快
python解释器
主要分为两大主流版本
1.python2.X
python2.7
2.python3.X
python3.6
#如何下载解释器
复制:https://www.python.org/downloads/windows/
1.下载可执行文件
2.双击该文件选择安装路径点击下面的自定义安装选项
3.直接点击next即可
4.尽量不要放在C盘
5.等待安装完毕之后点击close关闭即可
6.去指定的位置查看文件,出现了很多文件说明安装成功
#如何使用解释器
1.windows+r键并在输入框中输入cmd命令回车
2.输入文件名称查找文件
a.先从当前路径下查找
b.再去系统环境变量中依次查找
c.如果还没有则报错
#两种启动解释器的方式
1.在cmd窗口中切换路径
2.将python解释器所在的路径添加到环境变量中
python多版本共存
1.将不同版本python.exe所在路径添加到环境变量中
2.拷贝python.exe并重命名(python3 python2)
3.关闭当前cmd窗口重新打开一个即可实现多版本切换
python应用领域
1.人工智能
2.金融量化
3.数据分析
4.自动化运维、测试
5.网络爬虫
6.web开发
7.erp系统
运行第一个python程序
1.直接在解释器内部执行
print('hello world!')
2.使用解释器执行文件
python3 文件路径
编程软件
1.vs code
2.pycharm
#如何下载
复制:https://www.jetbrains.com/pycharm/download/#section=windows
"一定要下载专业版 社区版功能太少"
双击exe文件
1.直接点击next
2.如果之前安装过会提示卸载没有则忽略
3.选择pycharm安装路径
4.选择性的勾选
5.支持保持默认的Jetbrasins点击install即可
#收费问题
1.可以先点击使用30天
2.之后可以考虑破解
#破解方式
1.激活码破解(百度搜索、淘宝买)
点击activation code
2.修改配置文件破解
3.插件方式破解
day02内容详细
pycharm破解操作
new project # 创建一个新项目
open # 打开一个项目
get from vcs # 从远处仓库打开项目
1.插件反复试用
点击help选择eval reset
2.点击help选择about查看激活有效时间
# 破解方式有很多 任意一种都可以

pycharm基本操作
1.设置相关(图一、二参考)
#编程背景
file > settings > appearance > 选择Theme即可
#字体缩放
file > settings > editor > general >勾选change font size
#python代码文件后缀名
.py
2.创建文件(图三参考)
鼠标悬浮在创建的文件夹上面右键选择new
3.运行文件(图四参考)
悬浮在文件内容区域,鼠标右键选择run




python语法注释
#注释:
就是对一段代码的解释说明
"""
书写规范
如果是单行注释并且写在代码的上方 那么注释内容与警号之间空一格
如果是单行注释并且写在代码的后方 那么警号与代码之间空两格 内容与警号之间空一格
快捷方式
Ctrl + /
"""
1.单行注释
# 注释内容
2.多行注释
'''注释内容'''
"""注释内容"""
#pycharm中如何快速注释/解开注释代码
ctrl + ?


变量
#概念
变量即变化的量 ,用来记录事物的变化状态
"""
语法结构
变量名 赋值符号 变量的值
强调:变量推荐使用英文 不建议使用汉语拼音 更不要使用中文
"""
#变量内部的本质
1.先看赋值符号的右侧
2.给这块空间绑定一个变量名
以下图为例:
#结论:要想访问内存中的数据必须通过变量名
变量名的命名规范
1.变量名只能由数字、字母、下划线组成
2.数字不能开头 下划线尽量也不要开头
3.变量名一定要做到"见名知意"
4.变量名不能与关键字冲突
变量名的命名风格
1.下划线式
user_name_from_db = 'Ben'
2.驼峰体
大驼峰
UserNameFromDb = 'Ben'
小驼峰
userNameFromDb = 'Ben'
常量
#概念
常量即不变的量(圆周率)
"""
在python中没有真正意义上的常量
将全大写的变量名看成是常量
"""
eg:
HOST = '127.0.0.1'
PORT = 3306
dayo3内容详细
python所有基本数据类型
整型int
浮点型float
数字类型是不可变数据类型
字符串str
字符串是不可变类型
布尔值bool
对于布尔值,只有两种结果即True和False
列表list
列表是可变数据类型
元组tuple
元祖和字符串一样都是不可修改的,用()小括号括起来,元素使用逗号隔开。
字典dict
字典是可变数据类型,并且是无序的。
集合set
集合是一个无序,不重复,每个元素必须是不可变类型的数据组合
主要作用有去重和关系运算。
与用户交互
1.输入
input()
#获取用户输入
username = input('请输入用户名>>>:')
print(type(username))
2.输出
print()
格式化输出
默认的文本格式
info = "亲爱的%s你好! 你%s月的话费是%s,余额是%s"
占位符:提前占位置之后给对应的数据填充 %s
占位符:%d 只能给数字占位
res = 'my name is %s my age is %d'
print(res%('jason',18))
可以使用%d生成固定位数的单号
print('%08d' % 123)
print('%08d' % 123133)
基本运算符
算术运算符
+ - * / // **
比较运算符
> <
增量赋值
x = 10
x += 1
x -= 10
x *= 20
x /= 10
链式赋值
x = y = z = 'jason'
交叉赋值
m = 10
n = 20
m, n = n, m
print(m, n)
————————————————————————
20 10
解压赋值
stu_name = ['jason', 'kevin', 'tony']
name1, name2, name3 = stu_name
print(name1, name2, name3)
——————————————————————————————————
jason kevin tony
利用*号打破位数限制
l1 = [11,2,2,3,4,5,6,7,8,67,5,4,5,7,5,3,5,4]
a,b,*_,d = l1
print(a,b,d,_)
——————————————————————————————————————
11 2 4 [2, 3, 4, 5, 6, 7, 8, 67, 5, 4, 5, 7, 5, 3, 5]
day04内容详细
逻辑运算符
与(and)
链接的多个条件必须满足结果才成立否则不成立

或(or)
链接的多个条件有一个满足即可

非(not)
对条件取反

补充
"""
上述三个关键字如果混合使用是存在优先级的
在书写的时候应该通过括号强制规定优先级关系
"""
成员运算符
判断某个个体(局部)在不在某个群体(整体)内 # in

身份运算符
#如何查看变量值所在的"内存地址"
id() 返回一串数字 可以用来表示内存地址
name1 = 'jason ben tony'
name2 = 'jason ben tony'
id(name1)=35735125
id(name2)=35736240
name1 == name2
True
name1 is name2
False
"""
结论:
两个变量的值相等 那么内存地址不一定相等
两个变量的内存地址相等 那么值肯定相等
"""

流程控制
流程控制就是控制执行的流程
#流程主要分为三种
1.顺序结构(图一)
从上往下依次执行
2.分支结构(图二)
根据条件的不同执行不同的流程
3.循环结构(图三)
根据条件循环往复的执行某一个过程



必备知识
"""
在python中通过代码的缩进来表示代码的从属关系
在python中并不是所有的代码都可以拥有子代码
可以拥有子代码的如if
而属于同一个关键字的多行子代码必须要保持相同的缩进量
当某一行代码的结尾出现了冒号 那么下一行代码必缩进
python中缩进一般推荐使用四个空格(tab键)
"""
分支结构
例子一
"""
语法结构
if 条件:
条件成立之后执行的子代码
"""

例子二
"""
if 条件:
条件成立执行的子代码
else:
条件不成立执行的子代码
"""

例子三
"""
语法结构
if 条件1:
条件1成立执行的代码
elif 条件2:
条件1不成立条件2成立执行的代码
elif 条件3:
条件1和2都不成立条件3成立执行的代码
else:
上述条件都不成立执行的代码
中间的elif可以有多个 if 和 else只能有一个(前提:在同一个分支结构中)
if elif else连用 肯定只会走一个 其他的肯定不走
"""

例子四
# if嵌套
# 如果年龄大于28岁 叫阿姨 否则跟小姐姐要微信
# 要么成功要么失败

循环结构
while True:
username = input('username>>>:')
password = input('password>>>:')
print(username, password)
"""
语法结构
while 条件:
条件成立之后执行的循环体代码
"""
循环结构例子
# 利用while循环打印1-10
# 利用while循环打印1-10 但是排除7
# 利用while循环打印1-10 但是到7之后直接结束循环
# 判断count是否等于7 如果等于则结束循环
# 结束本层循环
"""
break和continue只能影响所在层的while
"""
# 关于while层的例子
# 判断count是否等于7 如果等于则结束循环



day05内容详细
循环结构之for循环
for循环能够实现的事情while循环也可以
但是for循环的语法会更加简单快捷
for循环取值
#for循环取值
1.for循环特别擅长应用在循环取值方面
2.for 变量名 in 可迭代对象(字符串 列表 字典 元组):
for循环体代码
3.for循环不需要添加结束条件 会随着取值的完毕自动结束
# 当值没有明确的类别时 变量名可以取i、j、k、item等
#ps:容器类型
内部能够存档多个元素的数据类型都可以称之为容器类型
for循环针对容器类型都可以循环取值 在此基础上还可以对字符串取值


range用法
#一个参数 顾头不顾尾
#两个参数 顾头不顾尾
#三个参数 产生等差数列



数据类型内置方法
整型int/浮点型float
int()
1.数据类型转换
2.其它进制字符串转换十进制数
eg:
n = '11'
print(int(n))
#十进制转换其它进制
1.将十进制转换成二进制
print(bin(100)) # 0b1100100
2. 将十进制转换成八进制
print(oct(100)) # 0o144
3. 将十进制转换成十六进制
print(hex(100)) # 0x64
#其它机制转十进制
1.print(int('0b1100100', 2))
2.print(int('0o144', 8))
3.print(int('0x64', 16))
#浮点型float()
n1 = '11'
print(float(n1))
n2 = '11.11'
print(float(n2))

字符串str
str可以将任意数据类型转换成字符串
eg:
res = 'hello world'
1.统计字符个数
print(len(res))
2.索引取值
print(res[0])
3.切片取值
print(res[1:5]) #顾头不顾尾
4.步长
print(res[1:8:2])
5.移除字符串首尾指定的字符
name = '$$jason$$'
print(name.strip('$'))
print(name.lstrip('$'))
print(name.rstrip('$'))
name1 = ' jason '
print(len(name1))
print(len(name1.strip()))
6.按照指定的字符切割数据
data = 'jason|123|teacher|read'
print(data.split('|'))
print(data.split('|', maxsplit=1))
print(data.rsplit('|', maxsplit=1))
7.大小写转换
res = 'Yu0My'
print(res.upper())
print(res.lower())
判断
print(res.isupper())
print(res.islower())
8.判断字符串是否是纯数字
print('123'.isdigit())
print('jason123'.isdigit())
9.统计字符出现的次数
res = 'my name is jason jason jason jason jason'
print(res.count('jason'))
10.替换指定的字符
res = 'my name is jason jason jason jason jason'
print(res.replace('jason', 'tony'))
print(res.replace('jason', 'kevin', 2))
11.按照指定的字符拼接字符串
l = ['jason','123','read']
print('|'.join(l))
name1 = 'jason'
pwd1 = '123'
hobby1 = 'study'
print(name1 + '|' + pwd1 + '|' + hobby1)
列表list
只能够转支持for循环数据类型
eg:
l1 = [11, 22, 33, 44, 55, 66]
1.统计长度
print(len(l1))
2.索引取值
print(l1[0])
3.切片操作
print(l1[0:4])
4.步长
print(l1[0:4:2])
5.添加元素
5.1尾部追加元素
l1.append('jason')
print(l1)
l1.append([111, 222, 333])
print(l1)
5.2指定位置插入元素
l1.insert(0, 'jason')
print(l1)
l1.insert(2, [111, 222])
print(l1)
5.3扩展列表
l1.extend([111, 222, 333, 444])
print(l1)
6.删除元素
6.1通用的删除操作
del l1[0]
print(l1)
6.2弹出元素
res = l1.pop(1)
print(l1, res)
6.3删除元素
res = l1.remove(22)
print(l1, res)
7.统计元素出现的次数
l2 = [11, 222, 33, 22, 33, 11, 11, 11, 22, 22, 33, 44, 44]
print(l2.count(11))
8.排序
l3 = [55, 44, 22, 33, 11, 99, 77, 88]
l3.sort() # 升序
print(l3)
l3.sort(reverse=True) # 倒序
print(l3)
字典dict
#字典内元素是无序的
user_dict = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
1.统计长度
print(len(user_dict))
2.按键取值
print(user_dict['username'])
print(user_dict['xxx'])
print(user_dict.get('username'))
print(user_dict.get('xxx'))
3.设置值
user_dict['username'] = 'jasonNB'
'''键存在则修改'''
user_dict['age'] = 18
'''键不存在则新建'''
4.删除值
res = user_dict.pop('username')
print(user_dict, res)
5.三个小方法
print(user_dict.keys())
print(user_dict.values())
print(user_dict.items())
集合
#集合内元素是无序的
1.去重
2.关系运算
f1 = {'jason', 'tony', 'kevin', 'jack'}
f2 = {'jason', 'tom', 'jerry', 'tony'}
1.求两个人共同好友
print(f1 & f2)
2.求f1独有的好友
print(f1 - f2)
3.求f2独有的好友
print(f2 - f1)
4.求两个人所有的好友
print(f1 | f2)
5.求两个人各自的好友
print(f1 ^ f2)
6.父集 子集
print(f1 > f2)
print(f1 < f2)

浙公网安备 33010602011771号