写在要点之前的一段话,留给将来的自己:第一次参加编程的培训班,很兴奋很激动,之前都是自己在网上找免费的视频来看,然后跟着写一些课程中的代码,都是照着模子写,没有自己过多的思考。感觉这样学不好,除了多写以外,还得自己思考,经过了自己思考的源码,才能真正成为自己的东西。在上课前,班主任就让我们自己想一下,通过这个培训,要达到的目标。其实我的目标很简单,不求通过这个培训班能成为什么开发工程师,年薪百万,达到人生巅峰,赢取白富美。那个不现实,我只求能够在现在实际工作中(我的工作主要是网络运维,还兼有系统管理,如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. Windows下动态库的隐式调用

    多年的工作经验告诉我Windows下使用动态库最简单的方法:使用def导出函数,然后隐式调用. 具体做法如下: (1)首先使用visual studio 创建“Win32项目”,如下图: (2)然后在 ...

  2. hdoj3351-stack

    Problem Description I'm out of stories. For years I've been writing stories, some rather silly, just ...

  3. JAX-WS + Spring 开发webservice

    通过几天的时间研究了下使用jax-ws来开发webservice,看了网上的一些资料总结出jax-ws的开发大概分为两种. 以下项目使用的spring3.0,jar包可以到官网下载 第一种:使用独立的 ...

  4. Node.js【2】开发环境搭建(Windows、Linux&amp;Mac)

    安装方式有非常多种,以下仅仅是我喜欢的一种方式,安装的路径不一定要跟我一样. 眼下最新的版本号是v0.10.28 Windows 1.下载(放到E:\node\nodejs): http://node ...

  5. [Flexbox] Using order to rearrange flexbox children

    Using the order property we alter the order in which flexbox children appear on the page, without ma ...

  6. 重新启动linux上的tomcat

    1.进入tomcat安装文件夹 2.cd bin 3../shutdown.sh 4../startup.sh

  7. Android之发送短信的两种方式

    SMS涉及的主要类SmsManager 实现SMS主要用到SmsManager类,该类继承自java.lang.Object类,下面我们介绍一下该类的主要成员. 公有方法: ArrayList< ...

  8. Android NDK 环境搭建 + 测试例程(转)

    懒得废话一大堆概念,关于ADT.NDK的概念要是你不懂,怎么会搜到这里来?所以你只需要根据下面的步骤来,就可以完成NDK环境搭建了. 步骤:(假设你未安装任何相关开发工具,如果已经安装了,就可以跳过) ...

  9. HTML5之选择上传图片文件

  10. ASP.NET图片验证码学习!

    1. 新建一个Validate.aspx,然后在Validate.aspx.cs编写代码: using System; using System.Collections; using System.C ...