本书电子版下载地址:百度网盘html
有没有那一个瞬间,让你想要放弃学习编程?python
在我决心开始学编程的时候,我为本身制定了一个天天编程1小时的计划,那时候工做很忙,我只能等到晚上9点,同事都下班以后,独自留在办公室编程。web
作任何事情必定有在短时间内简单可行的办法。 学习不该该是苦差事,而应该是快乐的,重要的是找到适合本身的学习方法。编程
高效学习法的核心在于:数据结构
- 精简:学习最核心的关键知识;
- 理解:运用类比、视觉化的方法来理解这些核心知识;
- 实践:构建本身的知识体系以后,再经过实践去逐渐完善知识体系。
我不追求让你达到精通的程度,事实上我也很怀疑有哪本书真正作到21天从入门到精通。精通一门语言,须要在实际项目开发中踩过许多坑,须要熟悉计算机运做的底层原理......对于实用主义的开发者来讲,更应该追求的是达成而不是精通。先掌握项目所需的最少必要知识,而后把热情和精力投入到搭建真实项目中,而不是死磕半年的基础知识,直到把全部兴趣都耗竭了也没作出什么像样的东西。app
大多数读者都能在一周内读完本书。框架
1.1 Python追求的是找到最好的解决方案。ide
1.2 Python有很丰富的库,有官方的,也有第三方开发的,你想作的功能模块颇有可能已经有人写好了,你只须要调用,不须要从新发明轮子。函数
2.1 安装最新版的Python程序。工具
2.2 使用IDE工具:PyCharm 社区版是免费的,专业版是付费的。对于初学者来讲,二者的差别微乎其微,用社区版就够了。
https://v.youku.com/v_show/id_XODMyMzM1NzQ4.html
https://pedrokroger.net/getting-started-pycharm-python-ide/
3.1 初学者常常会遇到的困惑是,看书或者听课都懂,但仍是不明白要怎么编程。这是由于缺少足够多的实践......学习时,模仿示例敲一遍代码。
3.2 变量 变量会暂时性地储存你放进去的东西。
3.3 字符串
print('{} a word she can get what she {} for.'.format('With','came')) print('{ab} a word she can get what she {cd} for.'.format(ab = 'With', cd = 'came')) print('{a1} a word she can get what she {a2} for.'.format(a2 = 'came', a1 = 'With')) # 这三个语句,输出结果同样: With a word she can get what she came for. With a word she can get what she came for. With a word she can get what she came for.
4.1 内建函数(自带函数)
Python3.7.3 版本有69个内建函数,具体使用说明见官方文档:
Built-in Function
Built | in | Function | ||
---|---|---|---|---|
abs() | delattr() | hash() | memoryview() | set() |
all() | dict() | help() | min() | setattr() |
any() | dir() | hex() | next() | slice() |
ascii() | divmod() | id() | object() | sorted() |
bin() | enumerate() | input() | oct() | staticmethod() |
bool() | eval() | int() | open() | str() |
breakpoint() | exec() | isinstance() | ord() | sum() |
bytearray() | filter() | issubclass() | pow() | super() |
bytes() | float() | iter() | print() | tuple() |
callable() | format() | len() | property() | type() |
chr() | frozenset() | list() | range() | vars() |
classmethod() | getattr() | locals() | repr() | zip() |
compile() | globals() | map() | reversed() | __import__() |
complex() | hasattr() | max() | round() |
4.2 开始建立函数
def function(arg1, arg2): return 'Sometihing' def 函数名(参数1, 参数2): 缩进 return '结果'
求直角三角形斜长边:
def length_bian(a,b): c = (a**2 + b**2)**(1/2) return c dd = length_bian(3,4) print(dd)
de(1,2,3) # 位置参数 de(dup = 1, ddown = 2, dheight = 3) # 关键词参数
file = open('c://python/hello.txt','w') file.write("HelloWorld!")
假设 a=10, b=20
符号 | 描述 | 实例 |
---|---|---|
+ | 相加 | a+b = 30 |
- | 相减 | b-a = 10 |
* | 相乘 | a*b = 200 |
/ | 相除 | b/a = 2 |
% | 取余 | b%a = 0 |
** | 次方 | a**b = 10^20 |
// | 取商 | b//a = 2 |
5.1 逻辑判断True&False
符号 | 描述 |
---|---|
== | 左右相等时返回True |
!= | 左右不等时返回True |
> | 左边大于右边时返回True |
< | 左边小于右边时返回True |
>= | 左边大于等于右边时返回True |
<= | 左边小于等于右边时返回True |
in、not in,表示归属关系的布尔运算符 is、is not,表示身份鉴别的布尔运算符
运算符 | 描述 |
---|---|
not x | 若是x是True,返回Flase |
x and y | 若是x和y同时为True,返回True |
x or y | 若是x和y同时为False,返回False |
5.2 条件控制if...else
# 若是...条件是成立的,就作...;反之,就作... if condition: do something elif condition: do something else : do something if 成立条件(冒号) (缩进)执行什么 elif 成立条件(冒号) (缩进)执行什么 else(冒号) (缩进)执行什么
5.3 循环(Loop)
于...其中的每个元素,作...事情
for item in iterable: do something for 元素 in 集合(冒号) (缩进)执行什么
for i in range(1,10): for j in range(1,10): print('{} * {} = {}'.format(i,j,i*n))
while condition: do something while 成立条件(冒号) (缩进)执行什么
如何控制while循环?
- 在循环过程当中制造某种可使循环停下来的条件P69
- 改变使循环成立的条件P70
6.2 Python有四种数据结构:列表,字典,元组,集合。
list = [val1, val2, val3, val4] dict = {key1 : val1, key2 : val2} tuple = (val1, val2, val3, val4) set = {val1, val2, val3, val4}
6.3 列表(list)
- 列表中的每个元素都是可变的;
- 列表中的元素是有序的;
- 列表可容纳Python中的任何对象。
列表的增删改查
fruit = ['apple', 'orange'] fruit.insert(1,'grape') #增 fruit[0:0] = ['banana'] #增 fruit.remove('grape') #删 del fruit[0:2] #删 fruit[0] = 'Grapefruit' #改 fruit.extend('b1', 'b2') #增
6.4 字典(Dictionary)
- 字典中数据必须以键值对的形式出现;
- 逻辑上讲,键不能重复,值能够重复;
- 字典中的键(key)是不可变的,而值(value)是可变的。
字典的增删改查
url_code = {'b' : 'baidu', 's' : 'sina'} #增 url_code['t'] = 'tmall' url_code.update({'fb' : 'facebook', 'tb' : 'taobao'}) #删 del url_code['fb']
6.5 元组(Tuple) 元组不可修改,相似稳定版的列表
6.6 集合(Set) 每个集合中的元素是无序的、不重复的任意对象。能够经过集合去判断数据的从属关系,也能够经过集合去掉数据结构中的重复的元素。
a_set = {1, 2, 3, 4} a_set.add(5) #增 a_set.discard(5) #删
6.7 多重循环
sorted(num_list,reverse = True)
sorted函数,先将列表复制后按照长短、大小、字母顺序进行排序,但不改变列表自己。
num_list [4,6,7,9,1,8,3,2] print(sorted(num_list))
整理列表时,若是同时须要两个列表怎么办?
for a,b in zip(num,str): print(b, ' is ', a)
6.8 推导式
a = [] for i in range(1,10): a.append(i) b = [i for i in range(1,10)] # 两种执行效果同样,第二种效率更高 # 看几个例子 a = [i**2 for i in range(1,10)] b = [j+1 for j in range(1,11)] c = [n for n in range(1,10) if n % 2 == 0] d = [letter.lower() for letter in 'ABCDEFG'] e = {i:i+1 for i in range(4)} f = {i:j for i,j in zip(range(1,6),'abcde')} g = {i:j.upper() for i,j in zip(range(1,6),'fghij')}
6.9 循环列表获取元素索引
letters = ['a','b','c','d','e'] for num,letter in enumerate(letters): print(letter, ' is ', num+1)
8.2.1 在PyCharm中安装 1,路径:File>>settings>>Project TestCode>>Project Interpreter
2,个人PyCharm版本:PyCharm2019.1.1
3,注意:破解版因屏蔽上网,没法安装库
8.2.2 在命令行中安装
1,安装pip
在Python3.4以后,安装好Python环境就能够直接支持pip,能够在命令行输入命令检查一下:
2,使用pip安装库
# 若是你想安装到python2中,把pip3 换成 pip pip3 install 库名称 # 若是你安装了python2和python3两种版本,可能会遇到安装目录问题,能够换成: python3 -m pip install 库名称 # 若是想装到python2中,把python3 换成 python # 介绍几个pip经常使用指令 pip install --upgrade pip #升级pip pip uninstall 库名称 #卸载库 pip list #查看已安装库
3,手动安装 (1)下载库文件(pypi站)
进入pypi站,搜索要安装的库,这是有3种可能。 *1. exe文件,点击安装。 *2. .whl类文件,能够自动安装依赖的包 *3. 源码文件,如.zip、tar.zip、tar.bz2等格式,要求用户已安装这个包所依赖的其余包。
(2).whl文件安装
pip3 install wheel
cd whl文件所在目录
pip3 install whl文件
(3)源码文件安装
cd 源码文件所在目录
python3 setup.py install