1. 语法

1.以#号开头的语句是注释

2.请务必注意,Python程序是大小写敏感的,如果写错了大小写,程序会报错。

3.按照约定俗成的管理,应该始终坚持使用4个空格的缩进。

4.当语句以冒号:结尾时,缩进的语句视为代码块。

1.缩进方式,一般是4个空格,兼容tab键

if a>=0;

print(a)

else:

print(a)

2.注释#

3.Python 对大小写敏感

2.基本数据类型

1.空值 None

2./n换行,/t tab键,// 表示/

3.

整数 -1,0,1  0xff00;
浮点数  1.23, -9.01, 1.23e9[1.23x109];
字符串 ‘hello’,“python”;
布尔值 True,False[布尔值可以用and、or和not运算];

3.List 列表 (有序集合)

1.list里面的元素的数据类型也可以不同,list元素也可以是另一个list(s[2][1]) classmates = ['Michael', 'Bob', ‘Tracy’] L = ['Apple', 123, True]

2.classmates.append(‘a’)

classmates.insert(1,’jack’)

classmates.pop()删除末尾

classmates.pop(i),删除指定元素

classmates[1] = ‘sarah’

tuple 有序列表叫元祖;.与list 相似,但是tuple初始化后就不能修改。

遍历List:

def iterList():
list = ['name','address','name2','addres2','name3','adress3']
for i,v in enumerate(list):
print i,v #dict = {"a":1,"b":"adf","c":"shide","d":"afda"}
 
 

3.1. tuple

元组

tup = ('wo','yao')
for item in tup:
print(item)

4.dict  (like java’s  hashmap)

d = {‘michal’:95,’bob’:75}

d[‘jack’]=90

获取value方式:
1、d[‘Michael’]如果key不存在,map读取value就会报错;
2、d.get(‘Thomas') 或者 d.get(‘Thomas’,0) 不存在时返回None或者预设值.
如果删除一个key,用pop(key)方法,对应的value也会从dict中删除 d.pop(‘Bob')

遍历dict :

def iterDict():
dict={'id':123,"name":"afd","sex":"boy"}
for item in dict:
print(item)
#for item in dict.values():
#print(item) for i in enumerate(dict):
print i

5.Set ( s = set([1, 2, 3])  )

s = set([1, 2, 3]) set中,没有重复的key 重复元素在set中自动被过滤  s = set([1, 1, 2, 2, 3, 3])
add(key)方法可以添加元素到set中
remove(key)方法可以删除元素:
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。
*不可变对象

遍历Set:

def iterSet():
s = set([1,2,3])
for item in s:
print(item) for i in enumerate(s):
print (i)

6.判断语句

age = 3
if age >= 18:
    print('adult')
elif age >= 6:
    print('teenager')
else:
    print(‘kid')

7.循环语句

def whileTest():
list = ['name','address']
for item in list:
print(item) tup = ('wo','yao')
for item in tup:
print(item) click = 10
while click > 0 :
print (click)
click -=1
if click == 8 :
#return
continue
if click < 5 :
break

8.函数

#函数声明
def my_abs(x):
if x >= 0:
return x
else:
return -x
#默认值
def move(x,y,step,angle = 30):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx,ny
#空函数
def nop():
pass #返回值
def showlist(list):
return 1,1,2,3

9.切片

def iter():
list = ['name','address','name2','addres2','name3','adress3']
print(list[1:4])
print (list[-3:-1])
print(list[1:4:2])
print(list[::2])
print(list[::])
print(list)

10. 列表生成器:

#列表生成器
def listGenerate():
list = [x for x in range (1,3) ]
print (list)
print (type(range(1,11))) lists = [x*y for x in range(1,3) for y in range(1,3)] #笛卡尔积
print(lists) listss = [x*y for x in range(1,11) for y in range(1,11) if x>y] #笛卡尔积
print (listss)
gen = (x*y for x in range(1,11) for y in range(1,11) if x>y)
print (type(gen))
print(gen.next()) #生成器用来遍历较小的集合

11.生成器:

#生成器
def gen():
listss = [x*y for x in range(1,3) for y in range(1,3) if x>y] #笛卡尔积 gen = (x*y for x in range(1,3) for y in range(1,3) ) print(gen.next()) #生成器用来遍历较小的集合
for g in gen:
print(g) list = ['name','address','name2','addres2','name3','adress3']
gen = (x+'1' for x in list if x == "name")
for g in gen :
print (g) uv = {'id':12,'uv':3000,'id':13,'uv':30001,'id':14,'uv':30002}
pv = {'id':12,'uv':3000,'id':13,'uv':30001,'id':14,'uv':30002}
print(type(uv))

12.异常处理:

#异常处理
def exceptionTest():
try:
i = 10
j = i/0
print 'end try'
except Exception,e:
print e
print 'error' finally:
print 'finally'

13.读取文件

14.读取properties

ConfigParser 是用来读取配置文件的包。配置文件的格式如下:中括号“[ ]”内包含的为section。紧接着section 为类似于key-value 的options 的配置内容。
ConfigParser 初始工作
cf = ConfigParser.ConfigParser()
cf.read("配置文件名")
获取所有sections
s = cf.sections()
获取指定section 的options。
o = cf.options("db")
获取指定section 的配置信息
v = cf.items("db")
按照类型读取指定section 的option 信息
db_host = cf.get("db", "db_host")
db_port = cf.getint("db", "db_port")
设置某个option 的值
cf.set("db", "db_pass", "zhaowei")
cf.write(open("test.conf", "w"))
添加一个section
cf.add_section(‘liuqing')
cf.write(open("test.conf", "w"))
移除section 或者option
cf.remove_option('liuqing','int')
cf.remove_section('liuqing')
cf.write(open("test.conf", "w"))

例子:

#pro
import ConfigParser cp=ConfigParser.ConfigParser()
cp.read('demo.txt') '''
print(cp.sections()) print(cp.options('db'))
print(cp.items('db')) print(type(cp.get('prp','prp.hu')))
print(cp.getint('db','db.name'))
''' #cp.add_section('dbnew')
#cp.set('dbnew','dbnew.ip','192.168.1.1') #cp.remove_option('dbnew','dbnew.ip')
cp.remove_section('dbnew') cp.write(open('demo.txt','w'))
print(cp.sections())

demo.txt

[ddshow]
ip = 10.100.1.1
db.name = zhangsan
db.pwd = lisi [ddshow_stat]
ip = 10.100.1.2
db.name = zhangsan2
db.pwd = lisi2

15.发送邮件

#mail

import smtplib
from email.mime.text import MIMEText sender="wuzhanwei@youku.com"
receiver="wzhwei@126.com"
smptserver="mail.youku.com" username="wuzhanwei"
password="WSWZW!!)2" smtp=smtplib.SMTP()
smtp.connect(smptserver)
smtp.login(username,password) ##
msg=MIMEText('<html>hello</html>','html','utf-8')
msg['Subject']='sub'
## smtp.sendmail(sender,receiver,msg.as_string()) smtp.quit()

16.访问数据库

17.Python编写mapreduce

mapper:

import sys

for line in sys.stdin:
line=line.strip()
words=line.split()
for word in words:
print "%s\t%s" %(word,1)

reducer:

import sys
current_word=None
current_count=0
word=None
for line in sys.stdin:
line=line.strip()
word,count=line.split('\t',1)
try:
count=int(count)
except Exception :
continue
if current_word==word:
current_count+=count
else:
if current_word:
print "%s\t%s" %(current_word,current_count)
current_count=count
current_word=word
if word==current_word:
print "%s\t%s" %(current_word,current_count)

mr:

import sys
for line in sys.stdin:
line =line.strip()
words=line.split()
for word in words:
print '%s\t%s' %(word,1)

111.直接运行py 文件

#!/usr/bin/env python
name = raw_input()
print('hello,', name)
然后,通过命令给hello.py以执行权限:sudo chmod a+x hello.py
就可以直接运行hello.py了

Python命令 (if __name__=="__main__":)的更多相关文章

  1. python 中if __name__ = '__main__' 的作用

    python 中if __name__ = '__main__' 的作用 前言 首先我们要知道在python里面万物皆对象,模块也是对象,并且所有的模块都有一个内置属性 __name__. 一个模块的 ...

  2. Python中if __name__ == "__main__": 的作用

    在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编 ...

  3. Python中if __name__=="__main__" 语句在调用多进程Process过程中的作用分析

    2018年2月27日 于创B515 引言 最近准备学习一下如何使用Python中的多进程.在翻看相关书籍.网上资料时发现所有代码都含有if __name__=="__main__" ...

  4. Python中if __name__ == "__main__": 的理解

    1.在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在pytho ...

  5. Python:if __name__ == '__main__'

    简介: __name__是当前模块名,当模块被直接运行时模块名为_main_,也就是当前的模块,当模块被导入时,模块名就不是__main__,即代码将不会执行. 关于代码if __name__ == ...

  6. Python常见经典 python中if __name__ == '__main__': 的解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一个 ...

  7. Python中if __name__ == '__main__':理解

    在很多python脚本中在最后的部分会执行一个判断语句if __name__ == "__main__:",之后还可能会有一些执行语句.那添加这个判断的目的何在? 在python编 ...

  8. 【Python】if __name__ == "__main__"做了什么?

    在Python的很多源文件中,会有这样的语句: if __name__ == '__main__': # script code here 比如有两个源文件A.py和B.py,都有上面的代码:在B.p ...

  9. python中if __name__ == '__main__': 的解析

    当你打开一个.py文件时,经常会在代码的最下面看到if __name__ ==  '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__.一 ...

  10. python中if __name__ == '__main__'

    python 中__name__ = '__main__' 的作用,到底干嘛的? 有句话经典的概括了这段代码的意义: “Make a script both importable and execut ...

随机推荐

  1. jquery获取复选框的值

    勾选checkbox,并把勾选的值显示在某个div中 <!DOCTYPE html > <html> <head> <meta charset="U ...

  2. python字符编码(二)

    一.什么是字符编码 计算机要想工作必须通电,也就是说‘电’驱使计算机干活,而‘电’的特性,就是高低电压(高低压即二进制数1,低电压即二进制数0),也就是说计算机只认识数字 编程的目的是让计算机干活,而 ...

  3. 泛在传感器网络(Ubiquitous Sensor Network; USN)

    http://wiki.mbalib.com/wiki/%E6%B3%9B%E5%9C%A8%E4%BC%A0%E6%84%9F%E5%99%A8%E7%BD%91%E7%BB%9C 什么是泛在传感器 ...

  4. 签名有元程序集 Signed Friend Assemblies

    下面的例子演示了创建签名程序集和有元程序集.这就要求两个程序集都是强命名,在下面的例子中,两个程序集都用了同一个秘钥,也可以用不同的秘钥. 1. 生成秘钥, 这个在前面的博客中有说明,生成秘钥文件sn ...

  5. CentOS7 Mini安装Oracle(图形化安装)

    以下操作在root用户下进行 1.mini版centos7没有ifconfig指令,可以如下操作 [root@localhost ~]# yum upgrade [root@localhost ~]# ...

  6. centos6.5分区简易操作

    fdisk /dev/sdb --->n--->p---->输入分区大小(回车就默认全部大小) mkfs.ext4 /dev/sdb1 mkdir /data 在根目录下新建data ...

  7. ecshop去掉“云服务中心”或者是“模板堂知识库”

    ECSHOP开发中心(www.68ecshop.com)教程介绍一下如何去除后台云服务中心菜单: 打开admin/templates/menu.htm,把415行的 document.getEleme ...

  8. Swiper基本上使用

    导入三个文件 jquery-1.11.1.min.js,swiper.min.js,swiper.min.css 攻略教程 http://www.swiper.com.cn/api/function/ ...

  9. SICP— 第一章 构造过程抽象

    SICP  Structure And Interpretation Of Computer Programs 中文第2版 分两部分  S 和 I 第一章 构造过程抽象 1,程序设计的基本元素 2,过 ...

  10. Orchard源码分析(2):Orchard.Web.MvcApplication类(Global)

    概述 分析一个的ASP.NET项目源码,首先可以浏览其项目结构,大致一窥项目其全貌,了解项目之间的依赖关系.其次可以浏览Web.config和Global.asax文件,找到应用程序的入口点. 本 文 ...