第一章 起 步
操作系统: Windows10
编程环境搭建历程:
(直接下个Pycharm或者Anoconda,以下可以忽略)。最初是用Python自带idel,不像个环境…后来舍友推荐了Pycharm,第一感觉是对于初学者界面还是略复杂; 后来在书上知道了Jupyter,用pip安装了觉得界面很棒,熟悉操作加搞主题搞了半天时间…但是用pip装其它的东西真的挺烦的,看到命令行的黑窗口觉得自己像个黑客…..虽然还没用到很多包,但是还是想体验体验调包侠的感觉~可能是很多初学者的通病…..只好百度了,竟然发现有个叫Anoconda的好东西,不找到最喜欢的学习是没法进行的,所以一天就花在找喜欢的软件或者说编程环境去了…差不多了,简单说一下两个软件的特点:(其实也是现学现卖,我只是知识的搬运工)Pycharm:很强,后来才发现,代码智能补全,Debug,各种提示,还有直接装各种包…甚至直接上传到你的Github!目前才发现这么点,但是绝对不止这些。。。至于Anoconda,也是爱不释手啊!自带Python,不用你再装一遍,自带JupyterNotebook,Spyder等编程环境,超级美。至于装包,就是搜包、安装,结束。JupyterNotebook是目前最常用的,很轻便,操作及其简单,像个分隔的笔记本,用了就知道了。Spyder很标准专业的样子,风格像MATLAB,没怎么用但感觉很牛逼,后续肯定忍不住要试试。
个人建议:
用Pycharm就够了,当然你喜欢新花样的话,再下个Anoconda够你折腾了。再说一点,这都是次要的,把时间用在重要的知识上才是正道(本人改不掉的毛病啊!)
第二章 变量和简单数据类型
2.2 变量
- Python里的变量无需声明直接使用
- 变量命名要有意义且简洁
2.3 字符串
- 输出字符串需要加引号,单引号双引号是一样的,但是注意不要单引号嵌套单引号,对于双引号亦然
- 强制转字符串类型 str()函数
- 输出print函数的内容类型要一致
- 修改字符串的大小写 大写
.upper()
, 小写.lower()
- 拼接字符串 就是用 + 号把字符串加起来!
例如:print(‘I Love’ + ‘You’)
输出就是I Love You
- 制表符
\t
换行符\n
,一般都要加引号 - 删除不必要的空白,删除右边的空白
.rstrip()
删除左边的空白.lstrip()
2.4 数 字
- Python可以直接做简单的计算器用,整型数浮点数各自的加减乘除都可以,浮点数与整型数的混合运算结果默认时浮点数。
- 平方运算符是 **2
- 立方运算符是 **3
- 输出是时若要和字符串类型一起,记得用
str()
函数转换类型,例如:
print(“My favourite number is ” + str (21))
- Python的注释符是 #,一般程序开头用注释写明程序功能或者简单说明。
第三章 列表的简介
3.1列表是什么
- Python里的列表类似与C里的数组,例如定义一个列表:
Friends = [‘ZH’, ‘XS’, ‘LP’, ‘LGJ’, ‘And…’]
print(Friends)
输出结果就是列表内容:
[‘ZH’, ‘XS’, ‘LP’, ‘LGJ’, ‘And…’]
- 索引列表: 例如
print(Friends[0])
则结果输出 ZH
注意列表索引从 0 开始而不是1 - 列表种的值通过索引使用:例如对上面的列表,想把第一个元素小写:
print(Friends[0].lower())
结果就是: zh
3.2修改添加删除列表内容等
修改列表内容:
例如Number = [522, 13, 14]
注意数字列表元素不加引号
- 修改第一个元素 ---
Number[0] = 520
- 添加元素(末尾添加) ---
Number.append(25)
- 任意位置插入元素 ---
Number.insert(0, ‘ZH’)
- 永久删除元素 ---
del Number[-1]
-1是指列表最后一个元素 - 弹出列表元素 ---
popped = Number.pop(-2)
必须要有个变量接收弹出的值 - 按名称删除列表元素 ---
Number.remove(522)
(以上假设都是单独一次操作)
3.3 组织列表
对列表进行排序 --- 永久性排序sort()
, 临时性排序sorted()
例如
Number = [520, 13, 14, 25, 9, 178] Number.sort()
并print(Number)
--- 得到的结果是 [13, 14, 178, 25, 520, 9]
- 想逆序排列怎么办 ---
Number.sort(reverse = True)
这时候Number的顺序和上面的顺序相反 -
New_Number = Number.sorted()
得到一个新的顺序排列的列Number
但是原列表Number的顺序不变
倒着打印列表 --- 仅仅是倒着输出,不改变列表本身的顺序
例如
List = [1, 2, 3, 4, 5, 6]
print(List.reverse())
--- 结果是 [6, 5, 4, 3, 2, 1]
确定列表的长度 --- len()
Number = [520, 13, 14 25, 9, 178]
print(len(Number))
--- 结果是 6
第四章 操作列表
4.1 遍历整个列表
• 可以使用for循环遍历列表 --- for friend in Friends:
• for循环记得后面的 冒号
• for循环属于一种条件,条件后有冒号,下一行有缩进
4.3 创建数字列表
- 使用range()函数创建数字列表 ---
for value in range(5, 20)
注意上面的输出值分别是value = 5, 6, 7 … 19 (差一行为) - range()函数还可以定义步长 ---
for value in range(0, 20, 2)
此时输出的结果是 0 ~ 20之间的偶数 - 可以进一步对range()产生的值进行操作:
for value in range(0, 20, 2)
aquares = value**2 #将产生的值value 平方一下
- 对列表做简单的统计 ---
list = [520, 13, 14, 25, 9, 178]
min(list)
--- 最小值
max(list)
--- 最大值
sum(list)
--- 求和
- 列表解析 --- 更为简洁的操作方式
#例如:
squares = (value**2 for value in range(0, 20, 2))
#对0 ~ 20之间的所有偶数求平方并存入 squares
4.4 使用列表的一部分 --- 切片
- 切片的定义方式
char = ['A', 'B', 'C', 'D', 'E', 'F']
char1 = char[0 : 3] #取列表前 3 个元素
char2 = char[3 : 5] #取第4 - 5 个元素
char3 = char[ : 2] #默认从列表开头
char4 = char[2 :] #默认至列表末尾
char5 = char[-2 :] #倒数第2位开始到列表最后
char6 = char[: -2] #开头至倒数第 2 位止
- 列表切片的操作和列表一致, 如可以用for循环遍历列表切片
- 复制列表 --- 创建一个独立的列表副本
number = [1, 2, 3] numberCopy = number[ : ]
这样就复制了列表number, 而且二者相互独立。
4.5 元组
- 元组的定义 ---
number = (520, 13, 14)
形式上只是括号的差别 --- 中括号变成了小括号,但是元组里的内容不可改变
如若需要更改元组,只能重新定义一个新的元组
第五章If 语句
5.2条件测试
- 通过if语句检测是否相等 ---
if you == me:
(要执行的) - 一个小点 检查字母是否相等时不考虑大小写
- 当然不仅时相等 --- 可以是任何判断语句,如
>, <, >=, <= ,!=
等等 - 检测特定值是否在列表中 ---
if 520 in number : --- if 178 not in number :
if 语句
- if – else
- if-elif-elif (注意elif后必须加条件)
第六章 字典
6.1 一个简单的字典
-
alien_0 = {'color': 'green', 'points': 5,'speed': 'fast' }
字典名 = { 键 : 值} --- 注意字符串加引号数字不加引号 - 查找字典的内容 ---
alien_0[‘color’]
即取color(键) 后面green(值) - 增加字典的内容 ---
alien_0[‘gender’] = ‘male’
则字典就增加了一个键值对‘gender’: ‘male’
- 删除字典的键值对 ---
del alien_0[‘color’]
- 也可以创建一个空字典然后加键值对进去 ---
alien_0 = {}
6.3遍历字典
- 用items()函数遍历字典的键值对 ---
alien_0.items()
for key, value in aliens.items():
print(key)
print(value) #分别输出alien_0的键和值
- 用keys()函数只取键 ---
alien_0.keys()
- 用values()函数只取值 ---
alien_0.values()
- 按顺序遍历字典 ---
sorted()
函数sorted(alien_0.keys())
- 剔除字典中的重复项 ---
set( alien_0.keys() )
6.4 嵌 套
- 字典列表 ---
Grade = [ Math = { 'shishang': 98, 'lvyuetong': 100},
Chinese = {'shishang': 96, 'lvyuetong': 97} ]
- 字典中存储列表 ---
Subject = {
pri = ['Chinese', 'Math', 'English'],
junior = ['Math', 'Physical', 'English']
}
- 字典中存储字典 --- 就是字典里再再定义字典。