一、python安装及环境变量配置

1、windows7安装python

1)下载地址:https://www.python.org/downloads/windows/

  如下图:

注意:下载,用代理会好很多

2)安装python3.6

双击打开后,第一步要记得勾上add python to Path 选项,意思是把Python的安装路径添加到系统环境变量的Path变量中。然后选择自定义路径,默认装C盘也可以

下一步:默认全选

再下一步:记得勾选第一项,Install for all users, 然后选择自己的目录

安装过程还是比较快的,稍等一会就好

装完之后打开电脑的cmd,验证一下安装是否成功,主要是看环境变量有没有设置好,在cmd中输入python,然后回车,如果出现python的版本号则说明软件装好了。

上一步验证失败的话可能就是环境变量没有设置好,继续在命令行里输入set Path,就打开了系统环境变量的Path变量,查看一下有没有Python的目录(如下图)

如果没有,就只能手动去填加了(参考:http://www.cnblogs.com/willpower-chen/p/5555682.html)

2、linux下安装python,这里我用的是ubuntu,并且是用的pyenv来管理安装

pyenv是管理Python版本的工具,它支持在多个Python版本间切换

1)下载pyenv

git clone https://github.com/yyuu/pyenv.git ~/.pyenv

2)将PYENV_ROOTpyenv init加入bash的~/.bashrc(或zsh的~/.zshrc)

root@drone-test2:/home/ubuntu# echo 'export PATH=~/.pyenv/bin:$PATH' >> ~/.bashrc
root@drone-test2:/home/ubuntu# echo 'export PYENV_ROOT=~/.pyenv' >> ~/.bashrc
root@drone-test2:/home/ubuntu# echo 'eval "$(pyenv init -)"' >> ~/.bashrc

3)重启shell :Restart your shell so the path changes take effect. You can now begin using pyenv.

4)安装指定版本的python

安装python前,需要系统安装一些依赖包和库:

还可选择安装:

查看python 可安装的版本并安装指定版本

python默认启动ubuntu自带python版本2.7.6

安装完成后:

  • 源码(如~/Python-3.6.0a3.tar.xz)缓存在.pyenv/cache目录中,在安装完后可手动删除。
  • Python版本安装在~/.pyenv/versions目录中。

通过pyenv修改默认启动的python版本

也可以用export 来修改,它的变量名是PYENV_VERSION

更多的pyenv学习大家可以参考:

  1. Python多版本共存之pyenv

  2. yyuu/pyenv-github

  3. 用pyenv 和 virtualenv 搭建单机多版本python 虚拟开发环境

  4. lixm/pybooklet-github

  5. 使用 pyenv 和 Miniconda 管理 Python 科学计算环境

  6. Python 2.X 3.X 多版本共存

  7. 一篇文章入门Python生态系统

  8. 用pyenv和virtualenv搭建python虚拟环境

二、pycharm安装及配置

1、安装如下图:

license server address:

http://idea.qinxi1992.cn/

2、pycharm的配置以及快捷键

参考:  http://www.cnblogs.com/willpower-chen/p/5612493.html

    http://www.cnblogs.com/willpower-chen/p/5556619.html

    http://www.cnblogs.com/willpower-chen/p/5556508.html

需要补充的是:

工具栏setting的设置显示

三、python基础

1、Hello world编写

1)直接通过解释器执行输出

2)pycharm编写

这里创建的文件,会自动添加后缀名.py告诉我们这是python相关文件

另外:创建的文件在dos窗口中用python执行结果

2、变量

1)变量是什么?

变量是个盒子,里面可以装各种东西。装了苹果,当箱子和其它东西合作时,它就是苹果;装了鸭梨,和其它东西合作时,它就是鸭梨。
编译型语言的变量要求箱子是固定的,装水果的就装水果,装面点的就装面点,装配件的就装配件。
解释型语言的变量不做要求,随便装,爱装啥装啥。当它和水果合作时就拿它当水果用;当它和面点合作时就拿它当面点用。
广义的变量是相对于常量而言的,指可变动的量。变量是绝对的,常量是相对的,没有绝对意义上的常量。
 
b、变量是一段有名字的连续存储空间。我们通过定义变量来申请并命名这样的存储空间,并通过变量的名字来使用这段存储空间。
变量是程序中临时存放数据的场所,变量中可以存放单词、数值、日期以及属性
 
2)变量的定义规则:

a、变量名只能是 字母、数字或下划线的任意组合

b、变量名的第一个字符不能是数字

c、以下关键字不能声明为变量名
['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']

3)变量的赋值:

a、变量之间的装换
name1= “zhangsan”

name2=name1

name2指向--》name1对应的内存空间地址“zhangsan”

所以name2实际指向的是——》内存空间地址“zhangsan”

name1=“lisi”

只是改变了name1——》指向的内存空间地址为“lisi”

这里name1改变了,name2没有改变

b、验证:如下图

结果:

3、输入、输出

执行交互:

隐藏输入密码,需要利用模块getpass中的getpass方法,即:

注:由于pycharm不支持getpass这个模块,所以在windows的dos下验证如下

4、流程控制和缩进

python语法使用严格的缩进方式,且同级必须对其

1)需求:用户登录验证

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2016/7/25 18:28
# @Author : Willpower-chen #提示请输入用户名和密码
#验证用户名和密码
# 如果验证错误,提示输入用户名或密码错误
# 如果验证正确,提示 欢迎,某某某! #导入getpass模块
import getpass name = input("请输入用户名:")
passwd = getpass.getpass("请输入密码:") if name == "ligang" and passwd == "123456":
print("欢迎",name)
else:
print("您输入的用户名或密码错误")

验证:


5、while循环

1)基本循环

2)break

break用于退出while循环体

while True:
print("a")
break
print("b")
这里当打印完“a”时,遇到break就会跳出整个循环,不会去打印“b”,也不会循环打打印“a”

3)continue

'''
continue用于退出本次循环,继续下一次循环
'''
while True:
print("a")
continue
print("b") 这里当打印完"a"时,会跳出本次打印“b”的循环,继续下一次的循环,即每次循环都会如此,所以就一直循环的打印“a”


												

python运维开发之路第一天的更多相关文章

  1. Python运维开发基础06-语法基础【转】

    上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...

  2. Python运维开发基础05-语法基础【转】

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...

  3. Python运维开发基础03-语法基础 【转】

    上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...

  4. Python运维开发基础01-语法基础【转】

    开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...

  5. 重磅|0元学 Python运维开发,别再错过了

    51reboot 运维开发又双叒叕的搞活动了,鉴于之前 51reboot 的活动反馈,每次活动结束后(或者已经结束了很长时间)还有人在问活动的事情.这一次小编先声明一下真的不想在此次活动结束后再听到类 ...

  6. Python运维开发基础01-语法基础

    标签(空格分隔): Mr.chen之Python3.0执教笔记(QQ:215379068) --仅供北大青鸟内部学习交流使用 开发不是看出来的,开发一定是练出来的: 想学好开发,没有捷径可走,只有不断 ...

  7. Python运维开发基础10-函数基础【转】

    一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...

  8. Python运维开发基础09-函数基础【转】

    上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...

  9. Python运维开发基础08-文件基础【转】

    一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...

随机推荐

  1. JavaScript函数柯里化的一些思考

    1. 高阶函数的坑 在学习柯里化之前,我们首先来看下面一段代码: var f1 = function(x){ return f(x); }; f1(x); 很多同学都能看出来,这些写是非常傻的,因为函 ...

  2. win8.1 无法安装 net framework3.5的解决办法

    近期给重装系统时,发现Windows8.1无法安装.net framework 3.5,即使我离线下载了安装文件,还要求安装2.0和3.0....而且无法从Windows更新中获取,因此百度到以下方案 ...

  3. Hashtable映射数据库字段

    package com.test; import java.sql.*; import java.util.ArrayList; import java.util.Hashtable; import ...

  4. 关于assert的学习

    编写代码时,总会做出一些假设,断言就是用于在代码中捕捉这些假设, 可以将断言看成是异常处理的一种高级形式. c语言assert宏的定义, #include <assert.h> void ...

  5. Google Web Toolkit (GWT)怎么制作多个用户界面

    Google Web Toolkit即GWT是目前基于AJAX技术开发的一个比较成功的框架包,但是其附带例程中只有单页面的实例,那么应该怎么样制作多个页面呢? 其实很简单,GWT的一个模块,就是一个页 ...

  6. 在ASP.NET中,IE与Firefox下载文件带汉字名时乱码的解决方法

    解决办法: HttpContext.Current.Response.Clear(); HttpContext.Current.Response.Buffer = true; HttpContext. ...

  7. linux系统启动

    在本文中,我们按电源按钮简要叙述,以便能够登录到系统,在此期间,系统和计算机硬件是如何一起工作.既作为自己整理知识的摘要,有可能linux0绍,高手请略过. 一般来说linux的启动能够分成三个阶段: ...

  8. shell之“>/dev/null 2>&1” 详解(转)

    今天在自己的一个技术群中又被问道了这么一个问题,于是又通俗的解释了一下,做个记录,大家看看解释是否清楚! shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以 ...

  9. linux 内存管理大图

  10. Java——(九)IO流

    一.流的分类 1.输入流和输出流 按照流的流向来分,可以分为输入流和输出流 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 此处的输入.输出涉及一个方向 ...