Python基础知识概要

非常简单的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

###############
#字符串操作,大小写转换
###############
#判断字符串
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(转载请说明出处)

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

Python基础知识概要

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/121309.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 手机cpu控制免root_cpu利用率低但是卡

    手机cpu控制免root_cpu利用率低但是卡想不想让CPU利用率展示成一首优美的旋律,就像弹琴一样。我的意思是,你想让系统以及task的CPU利用率是多少它就是多少,一切都是由你的程序自己来调制演奏。这需要一种自指机制。哈哈,完全可以,本文来演示,或者说,你可以把本文的内容看作一个戏弄运维人员的恶作剧。运维人员经常会遇到各种CPU高的问题,然后成群结队地去排查,想让队伍更大些吗?想让事情更诡异吗?我让你查,我让你查。哈哈。事先声明,若用本文描述的手段实施恶意行为,将会受到谴责,这并不是一个真正工程师该有的行为,更有辱手艺人的探索精神。

    2022年10月21日
    1
  • postman接口自动化测试实战_apipost接口测试

    postman接口自动化测试实战_apipost接口测试Apifox介绍Apifox是API文档、API调试、APIMock、API自动化测试一体化协作平台,定位Postman+Swagger+Mock+JMeter。通过一套系

    2022年7月29日
    4
  • linux date -d 的一些使用方法[通俗易懂]

    linux date -d 的一些使用方法

    2022年1月27日
    31
  • python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」

    python求逆矩阵的方法,Python 如何求矩阵的逆「建议收藏」我就废话不多说了,大家还是直接看代码吧~importnumpyasnpkernel=np.array([1,1,1,2]).reshape((2,2))print(kernel)print(np.linalg.inv(kernel))注意,Singularmatrix奇异矩阵不可求逆补充:python+numpy中矩阵的逆和伪逆的区别定义:对于矩阵A,如果存在一个矩阵B,使得A…

    2022年8月21日
    3
  • marquee滚动方向_marquee无缝滚动

    marquee滚动方向_marquee无缝滚动首先让我们认识这个标签,它是成对出现的标签,首标签和尾标签之间的内容就是滚动内容。标签的属性主要有behavior、bgcolor、direction、width、height、hspace、vspace、loop、scrollamount、scrolldelay等,它们都是可选的。behavior属性behavior属性的参数值为alternate、scroll、slide中的一

    2025年6月29日
    1
  • vue/uniapp 如何让页面的 onLoad 在 onLaunch 之后执行[通俗易懂]

    app.vue里的onLaunch中如果有异步方法(比如:登录),返回结果可能会在页面的onLoad之后,但onLoad中的方法需要登录回调的结果。为了让页面的onLoad在onLaunch之后执行,解决方案:1.main.js添加代码Vue.prototype.$onLaunched=newPromise(resolve=>{Vue.prototype.$isResolve=resolve;})2.在App.vue的onLau

    2022年4月14日
    54

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号