热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python基础知识概要

还是基于上篇提到的自动回贴的需求,通过抓包可以获取需要post的登录信息,实现登录,之后就要通过Python实现自动回贴,但是之前没有用过python,为了一个功能要系


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

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

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

[python] view plain copy print?
  1. # coding=utf-8  
  2.   
  3. ###############  
  4. #输入输出  
  5. ###############  
  6.   
  7. # 输出实例  
  8. print 'hello','world'  
  9.   
  10. # 输入实例  
  11. name = raw_input();  
  12. print 'hello,',name  
  13.   
  14. #输入时,提示  
  15. name=raw_input('please enter your name:');  
  16. print 'hello',name  
  17.   
  18. #格式转换,如果输入字母等非数字字符会报错  
  19. birth = int(raw_input('birth:'))  
  20.   
  21.   
  22. ###############  
  23. #字符表示  
  24. ###############  
  25. #转义  
  26. print '\\\n\\'  
  27.   
  28. #防止转义  
  29. print r'\\\n\\'  
  30.   
  31. #多行内容表示,用三引号包括  
  32. print '''''line1 
  33. line2 
  34. ling2'''  
  35.   
  36. #布尔值  
  37. print 3>2  
  38.   
  39. #Unicode表示的字符串用u''表示,转化成UTF-8编码  
  40. print u'ABC'.encode('utf-8')  
  41. print u'中文'.encode('utf-8')  
  42.   
  43. #文本文件编码  
  44. #!/usr/bin/env python  
  45. # -*- coding: utf-8 -*-  
  46.   
  47.   
  48. ###############  
  49. #格式化  
  50. ###############  
  51.   
  52. #格式化输出实例  
  53. print 'Hello,%s' % 'world'  
  54.   
  55. #格式化整数和小数  
  56. print '%2d-%02d' %(3,1)  
  57. print '%.2f' %3.1415926  
  58.   
  59. #万能格式化%s,可以替代所有格式化  
  60. print '%s-0%s' %(3,1)  
  61. print '%s' %3.1415926  
  62.   
  63. #对于Unicode字符串,用法完全一样,但最好确保替换的字符串也是Unicode字符串  
  64. print u'Hi,%s' % u'Jason0539'  
  65.   
  66. #输出百分号%,用双%即可  
  67. print 'growth rate:%d%%' %7  
  68.   
  69. ###############  
  70. #列表list  
  71. ###############  
  72.   
  73. #列表list,可变的有序列表  
  74. classmates = ['Jack','Bob','Tracy']  
  75. print classmates  
  76.   
  77. #len函数获取它的长度  
  78. print len(classmates)  
  79.   
  80. #获取某个元素,用中括号索引  
  81. print classmates[2]  
  82.   
  83. #倒数索引,可以倒序获取数组元素  
  84. print classmates[-1]  
  85.   
  86. #append追加元素到末尾  
  87. classmates.append('Adam')  
  88. print classmates  
  89.   
  90. #insert插入到指定位置  
  91. classmates.insert(0,'Jason0539')  
  92. print classmates  
  93.   
  94. #pop 删除末尾元素  
  95. print classmates.pop()  
  96.   
  97. #pop 加入参数删除指定位置元素  
  98. print classmates.pop(0)  
  99. print classmates  
  100.   
  101. #元素改变,直接赋值即可  
  102. classmates[0]='Jason0539'  
  103. print classmates  
  104.   
  105. #list可以嵌套,可用二维索引  
  106. s = ['python','java',['asp','jsp'],'scheme']  
  107. print s[2][1]  
  108.   
  109. #空列表  
  110. l=[]  
  111. print len(l)  
  112.   
  113. ###############  
  114. #元组tuple  
  115. ###############  
  116.   
  117. #不可变有序的数组  
  118. #定义元组  
  119. classmates=('Michael','Bob','Tracy')  
  120. print classmates  
  121.   
  122. classmates=()  
  123. print classmates  
  124.   
  125. t=(1,)  
  126. print t  
  127.   
  128. #注意不能用 t = (1) 来定义, 因为它定义的不是tuple,是 1 这个数,这是因为括号既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。  
  129.   
  130. #表面上可变的tuple  
  131. t=('a','b',['A','B'])  
  132. print t  
  133. t[2][0]='X'  
  134. t[2][1]='Y'  
  135. print t  
  136. #表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向 ‘a’,就不能改成指向 ‘b’ ,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的  
  137.   
  138. ###############  
  139. #字典dict  
  140. ###############  
  141.   
  142. #字典 dict 即键值对组,dict的key必须是不可变对象。  
  143. d={'Michael':95,'Bob':75,'Tracy':85}  
  144. print d['Michael']  
  145.   
  146. #把数据放入dict的方法,除了初始化时指定外,还可以通过key放入,在这之前,d 必须被声明,否则会报错  
  147. d['Jason']=5390  
  148. print d  
  149.   
  150. #判断key是否在字典中,区分大小写  
  151. #1.in判断  
  152. print 'Jason' in d  
  153.   
  154. #2.通过dict提供的get方法判断,如果key不存在,可以返回None,或者返回自己指定的默认value  
  155. print d.get('Thomas')  
  156. print d.get('Thomas',-1)  
  157.   
  158. #3.要删除一个key,用pop(key)方法,对应的value也会从dict中删除  
  159. d.pop('Jason')  
  160. print d  
  161.   
  162. ###############  
  163. #集合set  
  164. ###############  
  165. #set和dict类似,也是一组key的集合,但不存储value,没有重复的key  
  166. #要创建一个set,需要提供一个list作为输入集合  
  167. s = set([1,2,3])  
  168. print s  
  169.   
  170. #重复元素在set中自动被过滤  
  171. s = set([1,2,3,2,3,2,4])  
  172. print s  
  173.   
  174. #通过add(key)方法可以添加元素到set中,可以重复添加,但没有效果  
  175. s.add(4)  
  176. print s  
  177.   
  178. #通过remove(key)方法可以删除元素  
  179. s.remove(4)  
  180. print s  
  181.   
  182. #判断元素是否在set中  
  183. s = 5 in s  
  184. print s  
  185.   
  186. #set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作  
  187. s1=set([1,2,3])  
  188. s2=set([2,3,4])  
  189. print s1 & s2  
  190. print s1 |s2  
  191.   
  192. ###############  
  193. #字符串操作,大小写转换  
  194. ###############  
  195. #判断字符串  
  196. s = "jason0539"  
  197. s.isalnum()#所有字符都是数字或者字母  
  198. s.isalpha()#所有字符都是字母  
  199. s.isdigit()#所有字符都是数字  
  200. s.islower()#所有字符都是小写  
  201. s.isupper()#所有字符都是大写  
  202. s.istitle()#所有字符都是首字母大写,像标题  
  203. s.isspace()#所有字符都是空白字符、\t、\n  
  204.   
  205. #大小写转换  
  206. s.upper()#转大写  
  207. s.lower()#转小写  
  208. s.capitalize()#把第一个字母转化为大写字母,其余小写  
  209. s.title()#把每个单词第一个字母大写,其余小写  




作者:jason0539

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


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讲述了如何通过代码在Android中更改Recycler视图项的背景颜色。通过在onBindViewHolder方法中设置条件判断,可以实现根据条件改变背景颜色的效果。同时,还介绍了如何修改底部边框颜色以及提供了RecyclerView Fragment layout.xml和项目布局文件的示例代码。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
author-avatar
一线天24_226
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有