码迷,mamicode.com
首页 > 编程语言 > 详细

python第一天

时间:2016-05-14 06:34:00      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

 

Python第一天

 

一.为什么学Python

       作为一名linux运维工程师现在越来越感觉不好干了。没有地位,还待背黑锅,并且运维自动化发展的这么快,普通运维岗位的路也越来越窄(因为我很菜),和几个同事商量学习python,当然自己也很感兴趣。不废话了,估计你也和我差不多的想法。

二.Python介绍

      据说Python的诞生是由一个荷兰人在圣诞节(1989年)期间,为了打发时间,开发了一个新的脚本解释程序,即Python。(创始人都是这么牛逼吗?打发时间都能搞一个语言出来,膜拜),最近几年python发展的太快了,在TIOBE排行榜超越了PHP占据第五,他的代码清晰,简洁,应用于各个领域。各大型互联网企业都在使用,如:GooGle,Yahoo,Youtube,知乎,豆瓣等等。

         Python种类:

  1. Cpython

    a)  使用C语言实现,使用较广泛,官方采用。

    b) 原理:cpython将源文件(.py文件)转换成字节码文件(pcy文件),然后运行于Python虚拟机上。

  2. Jpython

    a)  使用java实现。

    b) 原理:Jpython将Python代码动态编译成Java代码,然后由JVM运行

 

  3. IronPython

    a) 使用C#实现。

    b) ronPython将代码编译成C#字节码,然后由CLR运行

  4. PyPy

    a)  由Python实现Python

    b)  将Python字节码再次编译成机器码。

。。。。。。。。。。。。。。等等。。。。。。。。。。。。。。。。。 

下图为Python具体实现的过程:

技术分享

四. 使用2.0还是3.0?

        

         对于这个问题网上讨论的很是热烈啊,用2.0的鄙视3.0的。用3.0的鄙视2.0 的,你属于哪一个?(我看着2.0的书,用着3.0敲代码,呵呵,只是菜鸟起步,不要想太多)。

 

五. 程序员的第一个程序:Hello,World

 

  a) 使用交互式解释器直接启动python,显示程序版本及操作系统等。

 

  2.0版本:

  技术分享

 

  3.0版本:

 技术分享

 

  b) Linux系统自带python,创建文件:

 技术分享

 技术分享

技术分享

 

人生中的第一个python程序。

 

         注: windows下可以使用PyCharm软件编写程序

            

六. 字符编码与变量

        

          Python解释器在加载.py文件中的代码时,会对内容进行编码,默认为ASCII

                   2.0版本需要在脚本中制定编码,如下:

                  技术分享

                   3.0版本可以忽略这个问题,解析器自动会进行编码

 

a) 变量命名规则:

  1. 只能包含字母,数字和下划线。

  2. 区分字母大小写

  3. 禁止使用保留字

注意: Python2与Python3的保留字有所不同

b) 命令惯例:

  1. 以单一下划线开头变量名(_X)不会被form module import *语句导入
  2. 前后有下划线的变量名(_X_)为系统定义的变量名,对python解释器有特殊意义
  3. 以两个下划线开头,但结尾没有下划线的变量名(__X)是类的本地变量
  4. 交互模式下,变量名“_”用于保存最后表达式的结果

注意:变量名没有类型,对象才有    

  • 以下关键字不能声明为变量名
    [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except     ‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or     ‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

 

c) 变了赋值:

>>> a = 1

>>> b = 2

>>> a

1

>>> b

2

>>> c = "this is a string"

>>> c

‘this is a string‘

 

name = "zhao"
name2 = name
print(name,name2)

name = "hong"

print(name,name2)


zhao zhao
hong zhao

 

 

七. 用户输入:

 

user = input("请输入你的用户名:")

print("你的用户名为:" , user)

passwd =input("请输入你的密码")

print("你的密码为:",passwd)    #显示输入的密码,如果想隐藏密码如下:

import getpass

password = getpass.getpass("请输入密码")

print(password)

 

 

八. 模块 

         python是由一系列的模块组成的,每个模块就是一个py为后缀的文件,同时模块也是一个命名空间,从而避免了变量名称冲突的问题。模块我们就可以理解为lib库,如果需要使用某个模块中的函数或对象,则要导入这个模块才可以使用,除了系统默认的模块不需要导入外。导入直接使用如下语法:

import 模块名称(不需要加.py后缀)

       

import sys

       print(sys.argv)        #输出

       # python module.py hello world

       [“module.py”, “hello”, “world”]    #获取执行脚本获取的参数

      

         Import os

        

         os.system(“df -h”)  #调用系统的命令

 

 

练习:

         写一个能用tab自动补全的模块:

 

Linux上tab 补齐代码:

 

#!/usr/bin/env python

# python startup file

import sys

import readline

import rlcompleter

import atexit

import os

# tab completion

readline.parse_and_bind(tab: complete)

# history file

histfile = os.path.join(os.environ[HOME], .pythonhistory)

try:

    readline.read_history_file(histfile)

except IOError:

    pass

atexit.register(readline.write_history_file, histfile)

del os, histfile, readline, rlcompleter

保存退出即可使用。

 

注意: 现在模块的存放于当前目录,如果想在系统其他地方使用,那我们需要加入环境变量,一般存放路径为:Python/2.7/site-packages

 

以上即为Python第一天所学的东西,看似简单实则还需要多练。

 

课后习题: 

1 写博客

2 编写一个用户登录接口,用户密码错误输入三次后锁定账户

3. 三级菜单(地理位置,省市县)

python第一天

标签:

原文地址:http://www.cnblogs.com/python-nameless/p/nameless.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!