Python基础知识概要

还是基于上篇提到的自动回贴的需求,通过抓包可以获取需要post的登录信息,实现登录,之后就要通过python实现自动回贴,

但是之前没有用过python,为了一个功能要系统的学习一门语言必然浪费很多时间,所以就要速成,根据其他语言基础快速做迁移。

以下便是概要,简单了解基本用法,为接下来的开发做基础。

# coding=utf-8

###############
#输入输出
###############

# 输出实例
print ‘hello‘,‘world‘

# 输入实例
name = raw_input();
print ‘hello,‘,name

#输入时,提示
name=raw_input(‘please enter your name:‘);
print ‘hello‘,name

#格式转换,如果输入字母等非数字字符会报错
birth = int(raw_input(‘birth:‘))


###############
#字符表示
###############
#转义
print ‘\\\n\\‘

#防止转义
print r‘\\\n\\‘

#多行内容表示,用三引号包括
print ‘‘‘line1
line2
ling2‘‘‘

#布尔值
print 3>2

#Unicode表示的字符串用u‘‘表示,转化成UTF-8编码
print u‘ABC‘.encode(‘utf-8‘)
print u‘中文‘.encode(‘utf-8‘)

#文本文件编码
#!/usr/bin/env python
# -*- coding: utf-8 -*-


###############
#格式化
###############

#格式化输出实例
print ‘Hello,%s‘ % ‘world‘

#格式化整数和小数
print ‘%2d-%02d‘ %(3,1)
print ‘%.2f‘ %3.1415926

#万能格式化%s,可以替代所有格式化
print ‘%s-0%s‘ %(3,1)
print ‘%s‘ %3.1415926

#对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串
print u‘Hi,%s‘ % u‘Jason0539‘

#输出百分号%,用双%即可
print ‘growth rate:%d%%‘ %7

###############
#列表list
###############

#列表list,可变的有序列表
classmates = [‘Jack‘,‘Bob‘,‘Tracy‘]
print classmates

#len函数获取它的长度
print len(classmates)

#获取某个元素,用中括号索引
print classmates[2]

#倒数索引,可以倒序获取数组元素
print classmates[-1]

#append追加元素到末尾
classmates.append(‘Adam‘)
print classmates

#insert插入到指定位置
classmates.insert(0,‘Jason0539‘)
print classmates

#pop 删除末尾元素
print classmates.pop()

#pop 加入参数删除指定位置元素
print classmates.pop(0)
print classmates

#元素改变,直接赋值即可
classmates[0]=‘Jason0539‘
print classmates

#list可以嵌套,可用二维索引
s = [‘python‘,‘java‘,[‘asp‘,‘jsp‘],‘scheme‘]
print s[2][1]

#空列表
l=[]
print len(l)

###############
#元组tuple
###############

#不可变有序的数组
#定义元组
classmates=(‘Michael‘,‘Bob‘,‘Tracy‘)
print classmates

classmates=()
print classmates

t=(1,)
print t

#注意不能用 t = (1) 来定义, 因为它定义的不是tuple,是 1 这个数,这是因为括号既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。

#表面上可变的tuple
t=(‘a‘,‘b‘,[‘A‘,‘B‘])
print t
t[2][0]=‘X‘
t[2][1]=‘Y‘
print t
#表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向 ‘a’,就不能改成指向 ‘b’ ,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的

###############
#字典dict
###############

#字典 dict 即键值对组,dict的key必须是不可变对象。
d={‘Michael‘:95,‘Bob‘:75,‘Tracy‘:85}
print d[‘Michael‘]

#把数据放入dict的方法,除了初始化时指定外,还可以通过key放入,在这之前,d 必须被声明,否则会报错
d[‘Jason‘]=5390
print d

#判断key是否在字典中,区分大小写
#1.in判断
print ‘Jason‘ in d

#2.通过dict提供的get方法判断,如果key不存在,可以返回None,或者返回自己指定的默认value
print d.get(‘Thomas‘)
print d.get(‘Thomas‘,-1)

#3.要删除一个key,用pop(key)方法,对应的value也会从dict中删除
d.pop(‘Jason‘)
print d

###############
#集合set
###############
#set和dict类似,也是一组key的集合,但不存储value,没有重复的key
#要创建一个set,需要提供一个list作为输入集合
s = set([1,2,3])
print s

#重复元素在set中自动被过滤
s = set([1,2,3,2,3,2,4])
print s

#通过add(key)方法可以添加元素到set中,可以重复添加,但没有效果
s.add(4)
print s

#通过remove(key)方法可以删除元素
s.remove(4)
print s

#判断元素是否在set中
s = 5 in s
print s

#set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
s1=set([1,2,3])
s2=set([2,3,4])
print s1 & s2
print s1 |s2


作者:jason0539

博客:http://blog.csdn.net/jason0539(转载请说明出处)

扫码关注我微信公众号,看点不一样的文章

技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。