python运维开发之路第一天
一、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_ROOT和pyenv 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学习大家可以参考:
二、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)变量是什么?
编译型语言的变量要求箱子是固定的,装水果的就装水果,装面点的就装面点,装配件的就装配件。
解释型语言的变量不做要求,随便装,爱装啥装啥。当它和水果合作时就拿它当水果用;当它和面点合作时就拿它当面点用。
广义的变量是相对于常量而言的,指可变动的量。变量是绝对的,常量是相对的,没有绝对意义上的常量。
变量是程序中临时存放数据的场所,变量中可以存放单词、数值、日期以及属性
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)变量的赋值:
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运维开发之路第一天的更多相关文章
- Python运维开发基础06-语法基础【转】
上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...
- Python运维开发基础05-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python # -*- coding:utf-8 -*- # author:Mr.chen import os,time Tag = ...
- Python运维开发基础03-语法基础 【转】
上节作业回顾(讲解+温习60分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen #只用变量和字符串+循环实现“用户登陆 ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
- 重磅|0元学 Python运维开发,别再错过了
51reboot 运维开发又双叒叕的搞活动了,鉴于之前 51reboot 的活动反馈,每次活动结束后(或者已经结束了很长时间)还有人在问活动的事情.这一次小编先声明一下真的不想在此次活动结束后再听到类 ...
- Python运维开发基础01-语法基础
标签(空格分隔): Mr.chen之Python3.0执教笔记(QQ:215379068) --仅供北大青鸟内部学习交流使用 开发不是看出来的,开发一定是练出来的: 想学好开发,没有捷径可走,只有不断 ...
- Python运维开发基础10-函数基础【转】
一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...
- Python运维开发基础09-函数基础【转】
上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...
- Python运维开发基础08-文件基础【转】
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
随机推荐
- Openstack部署工具
Openstack发展很猛,很多朋友都很认同,2013年,会很好的解决OpenStack部署的问题,让安装,配置变得更加简单易用. 很多公司都投入人力去做这个,新浪也计划做一个Openstack的is ...
- win2008 ent r2 开启端口
你好.win2008r2 ent 可以用以下命令行来实现,当然也可以用防火墙来配置 比如打开8080端口方法如下: netsh firewall add portopening TCP 8080 My ...
- Java GC专家系列1:理解Java垃圾回收
了解Java的垃圾回收(GC)原理能给我们带来什么好处?对于软件工程师来说,满足技术好奇心可算是一个,但重要的是理解GC能帮忙我们更好的编写Java应用程序. 上面是我个人的主观的看法,但我相信熟练掌 ...
- 长沙Uber优步司机奖励政策(1月25日~1月31日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- struts2 json 定义全局Date格式
使用struts2的json插件时,自己定义日期格式经常使用的方式是在get属性上加入@JSON注解,这个对于少量Date属性还能够,可是假设date字段多了,总不可能去给每一个date get方法加 ...
- android 21 隐式意图启动系统预定义activity
Intent intent=new Intent(LoginActivity.this, MainActivity.class);//显示意图启动,显示从一个activity到另一个activity, ...
- git 工具
https://www.kernel.org/pub/software/scm/git/ wget https://www.kernel.org/pub/software/scm/git/git-2. ...
- Fix java version mismatch in windows---stackoverflow
Question: I have the 64bit version of the jdk installed on windows 7. I installed the 32 bit version ...
- css考核点整理(三)-css选择器的使用
css选择器的使用
- 关于echarts的使用----模块化单文件引入(推荐) 与标签式单文件引入
官网:http://echarts.baidu.com/echarts2/doc/doc.html#引入ECharts3 关于模块化单文件引入(推荐) 与标签式单文件引入