生活所迫学习python 第一篇

学程序不容易,靠程序吃饭更不容易。每一个软件开发人员都有自己的无奈。最近新换了工作,工作要求用python语言编写服务器监控系统。这个系统要布置到全国各地的机房,上百台服务器上。

需求大概如下:

1 能自动部署和升级

2 监控每一个机器的各种情况,硬件情况,系统状态(内存剩余),软件情况,比如并发连接数量等等

3 能根据出现问题的类型,自动发邮件给对应的人员。

 

晕菜啊。话说自己根本没有接触过python,一切只能从零开始,为了生活,开工。

 

自己只学个c语言(菜鸟级别),打算按照学习c的顺序学习python。有语言基础学的比较快。

Python 版本:Python 2.4.3

平台:linux(centos

编辑工具:vim

 

1

每个程序的书都是从hello world开始。也是从这里学起,看了部分网上的资料,直接学习脚本了,这个能直接用在工作上,所以不学习命令行那种方法。

#>vim helloworld.py

内容如下:

#!/usr/bin/python                   python所在的路径

# Filename : helloworld.py            注释

print “Hello World”                  通过print方法输出字符串helloworld

执行以下试试:

#> chmod a+x helloworld.py

#> ./helloworld.py

Hello World

恩,果然正常。这只是个学习前的小例子~给自己打打气!

 

从基本数据类型开始学习

常量和变量

常量:就是不能改变它的

变量:使用空间存储任何东西

 

常量和变量的命令规则:

标识符的开头字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’

标识符名称的其他部分可以由字母(大写或小写)、下划线(‘ _ ’)或数字(0-9)组成

标识符名称是对大小写敏感的

 

数据类型:

整数(int      135

长整数 long   比整数更大的整数

浮点数 float   就是带小数点的(基本用不到)

复数     (不搞复杂的计算用不到)

字符串    字符序列

这里要说一下,字符串的表示形式在python3种:

1使用单引号('

用单引号指示字符串,就如同'Quote me on this'这样。所有的空白,即空格和制表符都照原样保留。

2使用双引号("

在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What's your name?"

3使用三引号('''"""

利用三引号,你可以指示一个多行的字符串。你可以在三引号中自由的使用单引号和双引号

其中,单引号和三引号比较常用,我感觉是这样么用的。续行用和脱意符 /

对象       恩!说这门语言是面向对象的,一切接对象,所有对象也是变量(再学习学习可能就明白了                            

 

表达式和语句

表达式:

I=3 这是个表达式

把这个写到python脚本里面:

I=3 占一行 这个就是一个语句了

表达式可以连着写的,;连接,但是按照大多数开源项目代码来看,并不推荐一行里面写很多表达式。

 

运算符

(来自Python参考手册)

运算符与它们的用法

运算符

名称

说明

例子

+

两个对象相加

3 + 5得到8'a' + 'b'得到'ab'

-

得到负数或是一个数减去另一个数

-5.2得到一个负数。50 - 24得到26

*

两个数相乘或是返回一个被重复若干次的字符串

2 * 3得到6'la' * 3得到'lalala'

**

返回xy次幂

3 ** 4得到81(即3 * 3 * 3 * 3

/

x除以y

4/3得到1(整数的除法得到整数结果)。4.0/34/3.0得到1.3333333333333333

//

取整除

返回商的整数部分

4 // 3.0得到1.0

%

取模

返回除法的余数

8%3得到2-25.5%2.25得到1.5

<< 

左移

把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即01

2 << 2得到8——2按比特表示为10

>> 

右移

把一个数的比特向右移一定数目

11 >> 1得到5——11按比特表示为1011,向右移动1比特后得到101,即十进制的5

&

按位与

数的按位与

5 & 3得到1

|

按位或

数的按位或

5 | 3得到7

^

按位异或

数的按位异或

5 ^ 3得到6

~

按位翻转

x的按位翻转是-(x+1)

~5得到6

小于

返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量TrueFalse等价。注意,这些变量名的大写。

5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True

大于

返回x是否大于y

5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False

<=

小于等于

返回x是否小于等于y

x = 3; y = 6; x <= y返回True

>=

大于等于

返回x是否大于等于y

x = 4; y = 3; x >= y返回True

==

等于

比较对象是否相等

x = 2; y = 2; x == y返回Truex = 'str'; y = 'stR'; x == y返回Falsex = 'str'; y = 'str'; x == y返回True

!=

不等于

比较两个对象是否不相等

x = 2; y = 3; x != y返回True

not

布尔

如果xTrue,返回False。如果xFalse,它返回True

x = True; not  y返回False

and

布尔

如果xFalsex and y返回False,否则它返回y的计算值。

x = False; y = True; x and y,由于xFalse,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为xFalse)。这个现象称为短路计算。

or

布尔

如果xTrue,它返回True,否则它返回y的计算值。

x = True; y = False; x or y返回True。短路计算在这里也适用。

运算符的优先级

(来自Python参考手册)

运算符

描述

lambda

Lambda表达式

or

布尔

and

布尔

not  x

布尔

innot  in

成员测试

isis not

同一性测试

<<=>>=!===

比较

|

按位或

^

按位异或

&

按位与

<<>>

移位

+-

加法与减法

*/%

乘法、除法与取余

+x-x

正负号

~x

按位翻转

**

指数

x.attribute

属性参考

x[index]

下标

x[index:index]

寻址段

f(arguments...)

函数调用

(experession,...)

绑定或元组显示

[expression,...]

列表显示

{key:datum,...}

字典显示

'expression,...'

字符串转换

为了明确语义,多加点括号就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值