Python入门

Python 专栏收录该内容
1 篇文章 0 订阅

本文在CSDN博客首发
转载请注明出处
http://blog.csdn.net/u011071427/article/details/78792103
本文出自Allen李的博客

Python入门

目录

1.Python基本数据类型
2.Python的print语句
3.Python的注释
4.Python的变量
5.Python中raw字符串与多行字符串
6.Python当中的Unicode字符串
7.Python中的整数和浮点数
8.Python中的布尔类型
9.Python中的List
10.Python中的tuple
11.Python中的条件判断和循环
12.Python中的dict
13.Python中的set
14.Python中的函数
15.Python中对字符串切片
16.Python中的迭代

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中raw字符串与多行字符串

  • 如果一个字符串包含很多需要转义的字符,对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r,表示这是一个 raw 字符串,里面的字符就不需要转义了。
  • 如果包表示多行字符串,可以用”’…………”’来表示。
  • 如果多行需要转义的字符串,可以用r”’…………”’来表示。

Python当中的Unicode字符串

因为Python诞生的比Unicode标准发布时间还要早,所以Python默认支持ASCII编码,要想使用中文,需要让Python支持Unicode编码格式需要:
- 转义,加u。

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的内存。
- 迭代dict的key和value,可以通过items()方法,将dict对象转化成了包换tuple的list,然后对这个list进行迭代,可以同时获得key和value。items()同样有一个iteritems()方法,在迭代过程中,不短给过tuple,所以iteritems()不占用额外的内存。

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print(d.items())
# 输出结果
[('Lisa', 85), ('Adam', 95), ('Bart', 59)]
评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

Allen李

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值