热门标签 | 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(转载请说明出处)


推荐阅读
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • async/await 是现代 JavaScript 中非常强大的异步编程工具,可以极大地简化异步代码的编写。本文将详细介绍 async 和 await 的用法及其背后的原理。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • window下的python安装插件,Go语言社区,Golang程序员人脉社 ... [详细]
  • com.hazelcast.config.MapConfig.isStatisticsEnabled()方法的使用及代码示例 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
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社区 版权所有