Python基本数据类型
整数:1,-1,0,以及十六进制整数:0xff00,0xa5b4。
浮点数:1.23,3.13,-0.12。
字符串:字符串是以”或者”“包起来的任意文本。如果字符串本身有’或者”,那就需要转义”\”。
布尔值:只有True和False,布尔值可以通过and(与运算)、or(或运算)、not(非运算)进行运算。
空值:用None表示,不能理解为0,因为None是一个特殊的空值。
Python的print语句
print语句打印字符串的时候遇到逗号“,”会输出一个空格。
print 'god is a','girl.'#打印语句
god is a girl.#运行结果
print也可以打印整数,或者计算结果。
Python的注释
Python的注释以#开头,然后这一整行都算注释。
Python的变量
变量的命名:必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。
-在Python中,变量本身类型不固定,被称之为动态语言,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。
(我的文章底部,有Python全套零基础资料,并且非常适合初学python的人学习,如果你有如何初学python的困惑,不妨看看,电子版的,免费的)
Python中raw字符串与多行字符串
如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r,表示这是一个 raw 字符串,里面的字符就不需要转义了。
如果包表示多行字符串,可以用”’…………”’来表示。
如果多行需要转义的字符串,可以用r”’…………”’来表示。
Python当中的Unicode字符串
因为Python诞生的比Unicode标准发布时间还要早,所以Python默认支持ASCII编码,要想使用中文,需要让Python支持Unicode编码格式需要:
u'中文\n日文\n韩文'
多行。
u'''第一行
第二行'''
raw+多行。
ur'''…
…
…
…'''
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
Python中的整数和浮点数
运算规则符合数学规则,用法跟Java一模一样。
Python中的布尔类型
Python把0、空字符串”和None看成 False,其他数值和非空字符串都看成 True。
短路计算
① 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。
② 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。
如果a and b中a和b都是字符串或者整数,会返回相应的类型,而不是True或者False。
Python中的List
List是一种有序的集合,可以随时添加和删除其中的元素。
构建List只需要把所有元素用[ ]括起来就是一个List对象,通常把List赋值给变量,这样就可以通过变量来引用List。
List中包含的元素并不要求都必须是同一种数据类型,完全可以包含各种数据。
一个元素也没有的是List,就是空List,用[]来表示。
List的索引从0开始,即List的第一个元素是:L[0]。使用索引时,千万注意不要越界。
List的倒序索引用L[-1]来表示倒数第一个元素,然后L[-2]表示倒数第二个元素。
List添加新元素有两个方法:
①append()方法,把新元素添加到List的末尾,L.append(‘Paul’)。
②insert()方法,这个方法有两个参数,第一个参数是索引号,第二个参数是待添加的新元素,L.insert(0,’Paul’)。
List删除元素的方法:pop()方法,L.pop()会删除List的最后一个元素,而L.pop(2)会删除List当中索引号为2的元素。
List替换元素可以用索引号,直接赋值,就可以完成替换工作,L[1]=’Paul’。
对List进行切片:L[x:y:z],x代表索引号,y代表索引截止号,z代表每隔第几个取出一个。
L[0:3] #代表着取前三个元素,即取出第1个,第2个,第3个元素,取出的结果,依然是一个list。
L[:3] #代表着取前三个元素。
L[:] #代表着取出全部元素,实际上是复制了一个新的list。
L[::2] #这个代表着每隔两个元素,取出一个元素。
list切片同样支持倒序切片
Python中的tuple
tuple是另外一种有序的列表,跟List的不同之处在于Tuple一旦创建完毕,就不能修改了。
构建tuple是是通过()把所有元素都括起来。
tuple没有append()、insert()、pop()方法,已经不可以替换原有元素。
tuple可以包含0个、1个和任意多个元素。空的tuple直接用()表示。
因为()既可以表示tuple,也可以作为括号表示运算时的优先级,所以我们在定义单元素的tuple时要多加一个逗号“,”,这样就可以避免歧义:t = (1,)。
python中可变的tuple,t = (’a’,’b’,[‘A’,’B’]),可以通过L = t[2],L[0]=’X’ L[1] = ‘Y’来更换tuple内部的List发生变化,但是tuple并没有发生变化。
tuple的切片,和list一样,只不过换成了tuple。
Python中的条件判断和循环
Python代码的缩进规则:具有相同缩进的代码被视为代码块。
Python缩进的规则是4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易因为缩进引起的语法错误。退出缩进需要多敲一行回车。
if-else:当if为真,执行if包含的代码块,else以后,会执行else:后的代码块
if-elif-else:当一个if-else不够用的时候就需要if-elif-……-else来使用
for循环:注意写法,会先执行循环代码块,执行完毕以后退出循环
L=['Adam','Lisa','Bart']
for name in L:
print name
while循环:注意写法,会先执行循环代码块,执行完毕以后退出循环
N = 10
x = 0
while x<N:
print x
x = x + 1
在for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句。
在循环过程中,可以使用break,退出当前循环,还可以使用continue跳过后继续循环代码,继续下一次循环。
多重循环:在循环内部,嵌套循环。
Python中的dict
dict是类似java当中的Map,无序集合。
构成是用{‘adam’:95,’lisa’:80}括起来,最后一个key:value的逗号可以省略。
len()方法用来计算任意集合的大小。
查找value,可以使用d[key]的形式查找相应的value。
可以通过in操作符判断key是否存在。
dict同时提供一个get方法,get(key)得到value,key不存在的时候,返回None。
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。由于dict是按 key 查找,所以,在一个dict中,key不能重复。
dict的第二个特点就是存储的key-value序对是没有顺序的。
dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
dict更新:用赋值语句加进去,d[‘paul’] = 72,如果’paul’已经存在,那么赋值语句会用心的value替换掉原来的value,如果不存在,则会添加进去。
遍历dict可以通过for循环,得到所有的key,然后根据key拿到value。
Python中的set
set是类似java当中的set,无序不重复集合。
创建set的方式是调用set()并传入一个list,list的元素将作为set的元素
s = set([1,2,3,4,5])
set的访问:因为set是无序集合,所以我们没法通过索引来访问,只能通过in操作符来判断是否存。
set的特点:set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
set的特点:set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
set的特点:最后,set存储的元素也是没有顺序的。
遍历set可以使用for循环。
set添加新元素,可以通过set的add(),如果添加的元素已经存在于set中,add()不会报错,但是不会添加进来。
set删除元素,可以通过set的remove()方法,但是如果元素不存在,remove()会报错,使用前需要判断
Python中的函数
Python中调用函数需要知道函数的名称和参数。
在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。
Python函数返回多值,在Python中函数允许返回多值,返回的结果会是一个tuple类型的返回值。
Python的函数中可以定义默认参数,作用是简化调用,还需要把必须的参数传进去,但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。
Python的函数中定义可变参数,在可变的参数的名字前面加一个*号,这样就可以传入零至多个参数,在Python中,会把可变参数当成一个tuple传入到函数中。
Python中对字符串切片
字符串’xxx’和Unicode字符串u’xxx”也可以看成是一种list,每个元素就是一个字符。因此,字符串也可以用切片操作,只是操作结果仍是字符串。
Python中的迭代
在Python中,迭代是通过for……in来完成的。
在Python中,迭代是取出元素本身,而不是元素的索引。
在对有序集合,想要拿到本身的索引,可以通过enumerate()函数,该函数可以让有序集合中的每一个元素都变成了tuple,这样就可以拿到元素的索引值了。
L = ['adam','lisa','bart','paul']==>L = [(0,'adam'),(1,'lisa'),(2,'bart'),(3,'paul')]
for t in enumerate(L):
index = t[0]
name = t[1]
print index,'-', name
# 以上代码可以简写为:
for index,name in enumerate(L):
print index,'-',name
对于dict迭代去value,有两种方法:
d = {
'Adam': 95, 'Lisa': 85, 'Bart': 59 }
for v in d.values():
print v
for v in d.iteravlues():
print v
输出结果都一样,都是全部把dict的value值全部输出,但是不同之处在于values()方法实际是把一个dict转换成了包含所有value的list,而itervalues()方法不会转换,他会在迭代过程中依次从dict中取出value,所以itervalues()方法比values()节省了生成list的内存。
d = {
'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print(d.items())
# 输出结果
[('Lisa', 85), ('Adam', 95), ('Bart', 59)]
以上所述都是Python入门要学习的了。但是很多朋友可能还是不知道如何入门Python,入门Python学上述这些是否就够了。完全不用担心,小编整理了全套的Python零基础学习资料。可以找我拿,什么都不要,拿的方式是:看我的网名,也就是Python芸芸的全拼音,然后用这个名字,在(魏X)上找我就行,我还可以给大家一些比较基础的python项目视频!
对于如何初学python,你明白了吗?