大家好,又见面了,我是全栈君。
还是基于上篇提到的自动回贴的需求,通过抓包可以获取需要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
###############
#字符串操作,大小写转换
###############
#判断字符串
s = "jason0539"
s.isalnum()#所有字符都是数字或者字母
s.isalpha()#所有字符都是字母
s.isdigit()#所有字符都是数字
s.islower()#所有字符都是小写
s.isupper()#所有字符都是大写
s.istitle()#所有字符都是首字母大写,像标题
s.isspace()#所有字符都是空白字符、\t、\n
#大小写转换
s.upper()#转大写
s.lower()#转小写
s.capitalize()#把第一个字母转化为大写字母,其余小写
s.title()#把每个单词第一个字母大写,其余小写
作者:jason0539
博客:http://blog.csdn.net/jason0539(转载请说明出处)
扫码关注我微信公众号,看点不一样的文章
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121309.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...