写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考。感觉这样学不好,除了多写以外,还得自己思考,经过了自己思考的源码,才能真正成为自己的东西。在上课前,班主任就让我们自己想一下,通过这个培训,要达到的目标。其实我的目标很简单,不求通过这个培训班能成为什么开发工程师,年薪百万,达到人生巅峰,赢取白富美。那个不现实,我只求能够在现在实际工作中(我的工作主要是网络运维,还兼有系统管理,如linux、windows)能够写一些小程序,让工作变得简单,每月领导要的数据能够通过程序自动提取并生成报表,稍微大一点的目标就是自己开发一个网络监控系统,因为目前我们单位还没有这个系统,也很急迫需要这套系统。再远点的目标,等近期的这个目标实现了再说吧。我喜欢一步一个脚印,踏踏实实的进步。还因为一个近期目标一个近期目标的去努力,更轻松,一下定一个很高的目标,太远了,奋斗起来太累,我感觉我没有那个耐心。好了,废话不多说,切入正题。

第一课主要介绍了以下部分:Python介绍、发展史、Python2和3、如何安装python、Hello World程序、变量、字符编码、用户输入、格式化输出、流程控制(if...else、循环)、模块讲解(主要讲了有getpass,os,sys以及自定义模块:tab(仅适用于MAC和LINUX系统,因为windows中无法安装readline模块)),并且介绍了自定义模块放置的位置,应该放置在系统环境变量定义的路径下。查看环境变量的方法:

 import os            #引入os模块,打印环境变量的前提
print(os.sys.path) #输出环境变量

输出结果如图:

输出的是一个列表,第一个空字符串' ',表示python当前路径,由于查找模块时是按照列表(list)元素的先后顺序,一旦查到当前路径存在同名的模块就退出查找,所以当前目录的模块优先级高于系统环境变量中的其他路径模块。

个人感觉tab模块比较有用,为避免今后不好查找,现在先copy一份备份:

Module tab:

 1 #!/usr/bin/env python
2 # python startup file
3 import sys
4 import readline
5 import rlcompleter
6 import atexit
7 import os
8 # tab completion
9 readline.parse_and_bind('tab: complete')
10 # history file
11 histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
12 try:
13 readline.read_history_file(histfile)
14 except IOError:
15 pass
16 atexit.register(readline.write_history_file, histfile)
17 del os, histfile, readline, rlcompleter

For Linux

1 import sys
2 import readline
3 import rlcompleter
4
5 if sys.platform == 'darwin' and sys.version_info[0] == 2:
6 readline.parse_and_bind("bind ^I rl_complete")
7 else:
8 readline.parse_and_bind("tab: complete") # linux and python3 on mac

For Mac

课程讲到循环部分,有一点值得记录一下,就是for i in range(10),这个语句的实际操作是将range(10)获取到的值,赋值给i,而不是i每次自增以后再去与range(10)中对比什么的。这点很重要。

    后面的猜数字游戏,我自己也跟着写了一下,将代码贴出来做个标注:自己加入了随机数模块,增加游戏难度。
 #!usr/bin/env python
#!-*-coding:utf-8 -*-
#Created on 2016年6月17日 上午8:23:03
#Author: Administrator
import random age = random.randint(0,101)
counter = 0
for i in range(10):
if counter < 3:
guess_num = int(input('请输入你所猜的数字:'))
if guess_num == age:
print('恭喜你答对了!')
break
elif guess_num > age:
print('往小了去想.')
else:
print('往大了去想.')
else:
continue_confirm = input('想再试试吗?请输入"Y"或者"N".')
if continue_confirm == 'Y' or continue_confirm == 'y':
counter = 0
continue #这是一个要点,加continue,为了跳出本次循环,否则计数器自增1,则猜了3次再玩则只能判断2次。
else:
print('再见.O(∩_∩)O~')
break
counter +=1

guess_game


其实这个程序还有很多可以修改的地方,例如加入异常处理,因为不是所有人都会按照游戏规则,输入整数,如果输入了小数,或者英文字母,则程序会报错。可以采用在判断大小前加入try...except语句结构,进行异常处理。可由于我的流程处理把握得不好,所以自己试着写了一下,总是存在没有考虑到的流程。最终索性都删除了。这里充分证明了在写一个项目,一个程序前,先做流程图的必要性。今后写程序一定加入流程图,将程序的控制流分析清楚,再动手敲代码。

python学习第一课要点记录的更多相关文章

  1. python学习第二课要点记录

    字典使用时,使用for k,v in items():要将字典转换为元组,因此效率较低,如果数据量较大,就不建议使用这样的形式获取key和value的值,而要使用 for item in dict: ...

  2. python学习第一课

    第一课: 1.不要使用来路不明的软件 2.下载杀毒软件 3.不懂技术的人在技术人面前会显得愈发无知 4.python无所不能 需要掌握的知识: 1.python基本语法 2.文件处理 3.函数 4.模 ...

  3. python 学习 第一课

    # -*- coding: utf-8 -*- import urllib2 import cookielib url="http://www.baidu.com" print ' ...

  4. Python学习第一课——if-else

    #if 基本语句 if 1==1: print("如果条件为真,if执行该语句") else: print("如果条件为假,if则执行这条语句") #if 多重 ...

  5. python学习第三次记录

    python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...

  6. Python作业第一课

    零基础开始学习,最近周边的同学们都在学习,我也来试试,嘿嘿,都写下来,下次不记得了还能来看看~~ Python作业第一课1)登陆,三次输入锁定,下次不允许登陆2)设计一个三级菜单,菜单内容可自行定义, ...

  7. Magento学习第一课——目录结构介绍

    Magento学习第一课--目录结构介绍 一.Magento为何强大 Magento是在Zend框架基础上建立起来的,这点保证了代码的安全性及稳定性.选择Zend的原因有很多,但是最基本的是因为zen ...

  8. python学习第一讲,python简介

    目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...

  9. Python学习-第一天-函数和模块的使用

    目录 Python学习-第一天总结 print输出的一种简单格式 函数参数之可变参数 模块管理函数 if else语句的单行实现(简洁) 变量作用域 函数书写格式 Python学习-第一天总结 pri ...

随机推荐

  1. Heavy Transportation

    题目大意: 雨果的沉重运输是快乐的,当浮空运输出现故障时候他可以扩展业务, 但他需要一个聪明的人告诉他是否真的是一种把他的客户构建了巨型钢起重机的地方需要的所有街道都可以承受重量(这句是直接有道翻译的 ...

  2. Intellij 快捷键大全

    Intellij IDEA的快捷键非常好用,能大大提高我们的开发速度.这里列举了一些常用的快捷键. 快速查找: Ctrl+N  查找类 Ctrl+R  替换当前窗口的文本 Ctrl+F  当前代码中查 ...

  3. SVN安装图解

    SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...

  4. OpenMP与C++:事半功倍地获得多线程的好处

    来源:IIEEG 01-28-2011 在并行计算领域有一个广为流传的笑话——并行计算是未来之事并且永远都是.这个小笑话几十年来一直都是对的.一种类似的观点在计算机架构社区中流传,处理器时钟速度的极限 ...

  5. sqlserver 查找某个字符在字符串中第N次出现的位置

    例如:查找'A,' 在'A,B,C,D,A,B,C,D,C,D,B,A,C,E,'中第二次出现的位置怎么实现,SQL 中有这样的函数吗? SQL code /* 方法很多,这里简单写一个 返回@fin ...

  6. Bloom Filter 原理与应用

    介绍 Bloom Filter是一种简单的节省空间的随机化的数据结构,支持用户查询的集合.一般我们使用STL的std::set, stdext::hash_set,std::set是用红黑树实现的,s ...

  7. C\C++代码优化的27个建议

    1. 记住阿姆达尔定律: funccost是函数func运行时间百分比,funcspeedup是你优化函数的运行的系数. 所以,如果你优化了函数TriangleIntersect执行40%的运行时间, ...

  8. PHP安全编程:更优的会话数据安全 更好地防范session暴露(转)

    当你关注于防止源码的暴露时,你的会话数据只同样存在着风险.在默认情况下,SESSION保存在/tmp目录下.这样做在很多情形下是很方便的,其中之一是所有用户都有对/tmp的写入权限,这样Apache同 ...

  9. AlertDialog dismiss 和 cancel方法的区别

    AlertDialog使用很方便,但是有一个问题就是:dismiss方法和cancel方法到底有什么不同? AlertDialog继承与Dialog,现在各位看看结构图: 然后在Dialog类中找到了 ...

  10. CSS3简单的空调

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...