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"表示在读取时, ...
随机推荐
- XML认识
XML概念 XML是eXtensible Markup Langguage 缩写,称之为可扩展标记语言.XML 被设计用来传输和存储数据.与HTML不同的是: HTML被设计用来显示数据,其焦点是数据 ...
- Android中的FrameLayout帧布局
帧布局由FrameLayout所代表,FrameLayout直接继承了ViewGoup组件. 帧布局容器为每一个增加当中的组件创建一个空白的区域(称为一个帧),每一个子组件占领一帧,这些帧都会依据gr ...
- Android传感器概述(六)
监视传感器事件 要监视原始的传感器数据,你须要实现两个通过SensorEventListener接口暴露的回调方法:onAccuracyChanged()和onSensorChanged().Andr ...
- WebRTC clientICE 延迟问题
本文原创自 http://blog.csdn.net/voipmaker 转载注明出处. 近期在优化WebRTCclient呼叫延迟问题.原因是ICE协议栈在收集地址到探測协商过程花费非常长时间.这 ...
- 自定义HtmlHelper方法
原文:http://www.cnblogs.com/wenjiang/archive/2013/03/30/2990854.html HtmlHelper方法是ASP.NET MVC中非常强大的特性, ...
- 高性能动画!HTML5 Canvas JavaScript框架KineticJS
高性能动画!HTML5 Canvas JavaScript框架KineticJS KineticJS是一款开源的HTML5 Canvas JavaScript框架,能为桌面和移动应用提供高性能动画,并 ...
- String的hashCode原理
参考下面这篇文章: http://blog.csdn.net/steveguoshao/article/details/12576849 http://blog.csdn.net/mingli1986 ...
- WPF TextSelection获取选中部分内容
一.简单实例 //TextSelect继承自TextRange TextSelection selection = richTextBox.Selection; //1.获取选中内容 string r ...
- Building Local Unit Tests
If your unit test has no dependencies or only has simple dependencies on Android, you should run you ...
- ueditor爬坑
在使用UeEditor中遇到几个个坑 1.添加的html代码中使用的样式class被guolv掉 解决方案:在ueditor.config.js中,xss过滤白名单中,每个元素添加class,如下图 ...