出处:B站林粒粒呀 【官方随书视频】最热门编程入门书《Python编程:从入门到实践(第2版)》
1先导篇:安装python和pycharm
在写下第一行python代码前要先做两件事情。第一件是安装python解释器:电脑无法读懂我们写的python代码,我们需要安装python解释器,作为中间翻译,把代码解释为字节码后再执行。python的运行是翻译一行执行一行。“安装python”本质上指的就是安装python解释器;第二件事就是安装代码编辑器:推荐安装PYCHARM。
1.1-1.2搭建环境
python官网→下载点俩√ →路径提示点击是关掉 →cmd键入python出现版本
pycharm官网→下载社区版 √14
2先导篇:打印
写代码就是给计算机下指令。
print("dad") 单双引号都可以,但要加引号否则计算机会识别为变量而不是文本,引号内可为中英文数字符号。"dad"整体为字符串。
pycharm右击项目新建py文件,数字英文下划线.py,不添加git。进程无问题,退出代码为0,有问题是问题字符串。
venv是虚拟环境文件,不要在此创建文件。
错误文件红色 错误信息cv查解法
2先导篇:更多打印字符串连接:print("hello" + "my" + "dog")
单双引号转义:字符串用单引号还是双引号包裹1都可以,但字符串中本身配有引号,则需用①转义符处理。外双内单,外单内双都可以。①反斜杠表明后面的引号不是字符串的结束标志,print("he said "let' go!""),结果为he said "let's go!"
换行:\n三引号跨行字符串:print(""君不见""")或print('''君不见''')打印诗句跨行。
2.2变量(上)
变量命名my_love
非 my love 不能有空格
非1my_love 数字不能打头
非"1my_love" 双引号不能包住变量名,否则为字符串
变量赋值:my_love = "13323568947"
2.2变量(下)
下划线命名法:1.字母全部小写 2.不同单词用下划线分隔
驼峰命名:userAge
变量名大小写敏感
变量名不要占用关键字
2.3字符串
print("python crash course".title())打印每个单词首字母大写后的版本
book_name = "python crash coures"
new_book_name = book_name.title()
print(new_book_name)
print(book_name)
使用大写后的变量名可以用变量储存结果
print("python crash course".upper())字母全部转换成大写
print("python crash course".lower())字母全部转换成小写
字符串夹杂变量:
1.字符串拼接看起来不简洁:
meaasge = username + "您好,今天是" + date + ",您所在的" + \city + "天气为" + weather + "。"
\表示当前行未结束
2.用前缀f:
username = "Eric"
date = "10月17日"
city = "长沙"
weather = "阵雨"
message = f“{username}您好,今天是{date},您所在的{city}天气为{weather}。”
2.4数
字符串:"6"
整数:6
浮点数:6.0
带小数点就是浮点数,不带是整数
数学运算: 1+2-3/4*5=0
运算优先级:()→乘方**→ */→ +-
更多运算import math函数库
import math
result = math.log2(8)
print(result)
2.5注释
#单行注释control+/整块注释""三引号注释 和无换行效果字符串一样
2番外篇:数据类型字符串str = 'hello'len('hello')得字符串长度
len('\n') \n为完整转义符,完整转义符才占一个长度
"hello"[3] 索引index为3的字符
整型int
浮点数float
布尔bool
空值类型NonrType: None 表示完全没有值
当不确定某个对象的值时可以先定义为None
当你不确定某个对象类型的时候,可以使用type函数,
type(“hello”)。<class ‘str’>
数据类型之所以重要,是因为它决定了你能在该类型的对象身上运用哪些函数
函数执行功能,给数丢结果
3.1-3.3列表及列表操作
一个场景:你有十个东西要买,item1 = “键盘” item2 = “键帽” item3 = “显示器”。
定义了十个变量,一个个赋值太麻烦,我们需要一个数据结构将相关联的数据整合在一起。
python的列表,就能达到这个目的。
一个空的列表用方括号表示,如果要在列表里放多个数据,要用方括号包住他们,用逗号分隔。
shopping_list = [“键盘” ,“键帽”]
如果要在指定的列表里加东西,使用针对列表的shopping_list.append()方法。
方法和函数都是用来负责执行特定功能的,
不同的是方法在对象后加.调用
对象.方法名(…)
shopping_list.append(“显示器”)
函数是把对象放在括号内调用
函数名(对象)
len(shopping_list)
列表是可变的数据类型,
int, str , float, bool 是不可变的数据类型,
所以使用append对原列表元素进行增加时,不需要也不应该对shopping_list重新进行赋值,
因为原先列表元素已经改变了。
删除列表元素使用remove方法
shopping_list.remove(“显示器”)
括号内填被删除的元素,使用时remove时,被删除元素必须确实存在于原列表中。
python的列表可以存放不同类型的数据,这点与其他语言不一样,使用起来灵活,背后原因与底层实现有关。
list1 = ["hello"]
list1.append(66.6)
list1.append(True)
list1.append(None)
print(list1)
针对列表,你可以通过索引获得某个位置的元素
列表的索引同样从0开始
shopping_list = ["键盘",“显示器”,“键盘”]
0 1 2
print(shopping_list[0])
如果你要修改某个列表里的元素,可以使用索引赋值
shopping_list[1] = "音响"
python还有很多针对列表的内置函数
num_list = [11,13,-7,2,96]
print(max(num_list)) #打印列表里的最大值
print(min(num_list)) #打印列表里的最大值
print(sorted(num_list)) #打印排序好的列表
4.1遍历整个列表
一个场景:遍历全公司万人体温,找出体温高于38的人,逐个找效率低下
我们可以用for循环进行迭代,迭代对象可以是列表、字典、字符串等,对列表进行迭代就是按顺序对立面的各个元素做一些事情。
对列表进行迭代就是按顺序对各个元素做一些事情:list1 = [1、2、3、5、7]
对字典进行迭代就是按顺序对里面的键或值做一些事情:dict1 = {"小明":1.78,”小花“:1.65}
对字符串进行迭代就是按顺序对里面的各个字符做一些事情:str1 = "hello,world"
python的for loop的基本结构:
for 变量名 in 可迭代对象:
#对每个变量做一些事情
比如:
temperature_list = [36.4, 36.6, 37.0, 36.5]
for temperature in temperature_list:
#if temperature >= 38:
print(temperature)
print("发烧了(๑′ᴗ‵๑)I Lᵒᵛᵉᵧₒᵤ❤")
4.3创建数值列表
一个场景:高斯问题,从1加到100的和,for循环结合range的作用就展现出来了。
range用来表示整数序列,range(5,10)
前为起始值,后为结束值,结束值不在序列的范围内。
for i in range(5,10):
print(i)
i会依次被赋予为从5到9的数字,但不会为10。
range(5,10,2)第三个值为步长,也就是每次跨几个数字。
高斯问题:
total = 0
for i in range(1,101):
total = total +i
print(total)
5.2-5.3条件测试与if语句
if[条件]:
[执行语句]
[执行语句]
else:
[执行语句]
[执行语句]
python通过缩进判断属于哪段条件语句
5.3更多if语句
if[条件一]:
if[条件二]:
[语句A]
else:
[语句B]

#mood_index是0到100之间的整数
#is_at_home为布尔值
if mood_index < 60:
if is_at_home:
print("别玩了")
else:
print("玩呗")
多个条件判断的关键字是elif,基本结果如下:直到找到第一个条件为真的语句然后执行
if[条件一]:
[语句A]
elif[条件二]:
[语句B]
elif[条件三]:
[语句C]
else:
[语句D]

elif的数量没有上限也没有下限,只会执行第一个满足条件的语句,如果条件二和条件三同时满足,只会执行条件二下的语句了,一旦进入这条分支,就不会再看同一层级下的其他条件判断了。
5番外篇:逻辑运算
and or not 与 或 非and和or可连接两个或以上的对象not连接一个对象三个逻辑对象可以混用,混用时注意优先级:not》and》or当然也可以用括号改变运算顺序not (x > 5 and ( x< 10 or x == 12))
6.2使用字典
一个场景: