• python学习第一课要点记录


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

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

    1 import os            #引入os模块,打印环境变量的前提
    2 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)中对比什么的。这点很重要。

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

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

  • 相关阅读:
    jmeter跨平台执行时的文件路径问题
    jenkins配置
    jmeter--负载测试
    jmeter-脚本制作
    jmeter学习-性能指标、jmeter初识
    功能测试--其他
    功能测试--Fiddler
    功能测试--APP专项
    功能测试--基础(二)
    功能测试-基础(一)
  • 原文地址:https://www.cnblogs.com/chenxiforever/p/5593569.html
Copyright © 2020-2023  润新知