|
2 | 2 | "cells": [ |
3 | 3 | { |
4 | 4 | "cell_type": "markdown", |
5 | | - "metadata": {}, |
| 5 | + "metadata": { |
| 6 | + "collapsed": true |
| 7 | + }, |
6 | 8 | "source": [ |
7 | 9 | "# Lesson 1\n", |
8 | | - "\n", |
9 | 10 | "Python Basic, Lesson 1, v1.0.1, 2016.12 by David.Yi\n", |
10 | 11 | "\n", |
| 12 | + "Python Basic, Lesson 1, v1.0.2, 2017.02 modified by Eamon.Zhang\n", |
11 | 13 | "\n", |
12 | 14 | "### 本次内容要点\n", |
13 | 15 | "\n", |
|
18 | 20 | " * jupyter 和 notebook介绍\n", |
19 | 21 | "* 基本变量概念\n", |
20 | 22 | "* print() 和 input() 用法\n", |
21 | | - "* pycharm 用法介绍" |
| 23 | + "* pycharm 用法介绍\n", |
| 24 | + "\n" |
22 | 25 | ] |
23 | 26 | }, |
24 | 27 | { |
25 | 28 | "cell_type": "markdown", |
26 | | - "metadata": {}, |
| 29 | + "metadata": { |
| 30 | + "collapsed": true |
| 31 | + }, |
27 | 32 | "source": [ |
28 | 33 | "### python 简介\n", |
29 | 34 | "\n", |
|
44 | 49 | "\n", |
45 | 50 | "Python 2.0于2000年10月16日发布,增加了实现完整的垃圾回收,并且支持Unicode。同时,整个开发过程更加透明,社区对开发进度的影响逐渐扩大。目前2系列的最新版本是 2.7.12,2.7版本将在2020年被停止支持。\n", |
46 | 51 | "\n", |
47 | | - "Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。目前3系列版本是3.5.2,3.6已经在 beta 测试中。\n", |
| 52 | + "Python 3.0于2008年12月3日发布,此版不完全兼容之前的Python源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。目前最新版本是3.6.0,发布于2016年12月。\n", |
| 53 | + "\n", |
| 54 | + "#### Python能做什么?\n", |
| 55 | + "\n", |
| 56 | + "\n", |
48 | 57 | "\n", |
49 | 58 | "#### 设计哲学\n", |
50 | 59 | "\n", |
|
62 | 71 | }, |
63 | 72 | { |
64 | 73 | "cell_type": "markdown", |
65 | | - "metadata": {}, |
| 74 | + "metadata": { |
| 75 | + "collapsed": true |
| 76 | + }, |
66 | 77 | "source": [ |
67 | 78 | "### 准备工作\n", |
68 | 79 | "\n", |
|
136 | 147 | }, |
137 | 148 | { |
138 | 149 | "cell_type": "markdown", |
139 | | - "metadata": {}, |
| 150 | + "metadata": { |
| 151 | + "collapsed": true |
| 152 | + }, |
140 | 153 | "source": [ |
141 | 154 | "### 基本变量概念\n", |
142 | 155 | "\n", |
|
158 | 171 | "outputs": [], |
159 | 172 | "source": [ |
160 | 173 | "counter = 100 # 整型变量\n", |
161 | | - "miles = 1000.0 # 浮点型\n", |
| 174 | + "miles = 1000.0 # 浮点型(小数)\n", |
162 | 175 | "name = \"John\" # 字符串\n", |
163 | | - "name2 = 'Tom'" |
| 176 | + "name2 = 'Tom'\n", |
| 177 | + "bool = True # 布尔值" |
164 | 178 | ] |
165 | 179 | }, |
166 | 180 | { |
167 | 181 | "cell_type": "code", |
168 | | - "execution_count": 20, |
| 182 | + "execution_count": 1, |
169 | 183 | "metadata": { |
170 | 184 | "collapsed": false |
171 | 185 | }, |
|
214 | 228 | }, |
215 | 229 | { |
216 | 230 | "cell_type": "code", |
217 | | - "execution_count": 21, |
| 231 | + "execution_count": 2, |
218 | 232 | "metadata": { |
219 | 233 | "collapsed": false |
220 | 234 | }, |
|
234 | 248 | "print(a,b)" |
235 | 249 | ] |
236 | 250 | }, |
| 251 | + { |
| 252 | + "cell_type": "markdown", |
| 253 | + "metadata": {}, |
| 254 | + "source": [ |
| 255 | + "#### 动态语言\n", |
| 256 | + "Python是动态语言,即变量本身的类型不固定\n", |
| 257 | + "\n", |
| 258 | + "与之对应的静态语言(如Java),在定义变量时,必须先指定变量类型,赋值时如不匹配则报错" |
| 259 | + ] |
| 260 | + }, |
| 261 | + { |
| 262 | + "cell_type": "markdown", |
| 263 | + "metadata": {}, |
| 264 | + "source": [ |
| 265 | + "#### 理解Python变量在内存中的表示\n", |
| 266 | + "当我们输入 a = 'yimeng' 时,Python解释器做了2件事情:\n", |
| 267 | + "\n", |
| 268 | + "1 在内存中创建了一个'yimeng'的字符串;\n", |
| 269 | + "\n", |
| 270 | + "2 在内存中创建了一个名为a的变量,并把它指向'yimeng'。\n", |
| 271 | + "\n", |
| 272 | + "也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据" |
| 273 | + ] |
| 274 | + }, |
| 275 | + { |
| 276 | + "cell_type": "code", |
| 277 | + "execution_count": 2, |
| 278 | + "metadata": { |
| 279 | + "collapsed": false |
| 280 | + }, |
| 281 | + "outputs": [], |
| 282 | + "source": [ |
| 283 | + "a = 'ABC'\n", |
| 284 | + "b = a\n", |
| 285 | + "a = 'XYZ'\n", |
| 286 | + "#print(b)" |
| 287 | + ] |
| 288 | + }, |
237 | 289 | { |
238 | 290 | "cell_type": "markdown", |
239 | 291 | "metadata": {}, |
|
277 | 329 | }, |
278 | 330 | { |
279 | 331 | "cell_type": "code", |
280 | | - "execution_count": 22, |
| 332 | + "execution_count": 3, |
281 | 333 | "metadata": { |
282 | 334 | "collapsed": false |
283 | 335 | }, |
|
298 | 350 | }, |
299 | 351 | { |
300 | 352 | "cell_type": "code", |
301 | | - "execution_count": 1, |
| 353 | + "execution_count": 3, |
302 | 354 | "metadata": { |
303 | 355 | "collapsed": false |
304 | 356 | }, |
|
321 | 373 | }, |
322 | 374 | { |
323 | 375 | "cell_type": "code", |
324 | | - "execution_count": 2, |
| 376 | + "execution_count": 4, |
325 | 377 | "metadata": { |
326 | 378 | "collapsed": false |
327 | 379 | }, |
|
339 | 391 | "6\n", |
340 | 392 | "7\n", |
341 | 393 | "8\n", |
342 | | - "9\n" |
| 394 | + "9\n", |
| 395 | + "10\n", |
| 396 | + "11\n", |
| 397 | + "12\n" |
343 | 398 | ] |
344 | 399 | } |
345 | 400 | ], |
346 | 401 | "source": [ |
347 | | - "for i in range(10):\n", |
| 402 | + "for i in range(13):\n", |
348 | 403 | " print(i)" |
349 | 404 | ] |
350 | 405 | }, |
|
397 | 452 | }, |
398 | 453 | { |
399 | 454 | "cell_type": "code", |
400 | | - "execution_count": 13, |
| 455 | + "execution_count": 5, |
401 | 456 | "metadata": { |
402 | 457 | "collapsed": false |
403 | 458 | }, |
|
406 | 461 | "name": "stdout", |
407 | 462 | "output_type": "stream", |
408 | 463 | "text": [ |
| 464 | + "hello from English\n", |
409 | 465 | "hello from English\n" |
410 | 466 | ] |
411 | 467 | } |
412 | 468 | ], |
413 | 469 | "source": [ |
414 | | - "# 更加好,更加 pythonic 的写法\n", |
| 470 | + "# 更加好,更加 pythonic 的写法:format函数-增强的格式化字符串函数\n", |
| 471 | + "# 关于format的更多细节,参见 https://docs.python.org/3/library/string.html#format-string-syntax\n", |
| 472 | + "# 通过关键字传参\n", |
| 473 | + "print('{greet} from {language}'.format(greet='hello', language='English'))\n", |
415 | 474 | "\n", |
416 | | - "print('{greet} from {language}'.format(greet='hello', language='English'))" |
| 475 | + "# 通过位置传参\n", |
| 476 | + "print('{0} from {1}'.format('hello', 'English'))" |
417 | 477 | ] |
418 | 478 | }, |
419 | 479 | { |
420 | 480 | "cell_type": "markdown", |
421 | | - "metadata": {}, |
| 481 | + "metadata": { |
| 482 | + "collapsed": true |
| 483 | + }, |
422 | 484 | "source": [ |
423 | 485 | "---\n", |
424 | 486 | "\n", |
|
518 | 580 | "metadata": { |
519 | 581 | "anaconda-cloud": {}, |
520 | 582 | "kernelspec": { |
521 | | - "display_name": "Python [default]", |
| 583 | + "display_name": "Python 3", |
522 | 584 | "language": "python", |
523 | 585 | "name": "python3" |
524 | 586 | }, |
|
532 | 594 | "name": "python", |
533 | 595 | "nbconvert_exporter": "python", |
534 | 596 | "pygments_lexer": "ipython3", |
535 | | - "version": "3.5.2" |
| 597 | + "version": "3.5.1" |
536 | 598 | } |
537 | 599 | }, |
538 | 600 | "nbformat": 4, |
|
0 commit comments