Python入门笔记(一)

注:资料来源于慕课网Python入门
转载请附上原文地址:http://www.jianshu.com/p/8d8507601565

目录

  • 1.变量和数据类型
  • 2.List和Tuple类型
  • 3.条件判断和循环
  • 4.Dict和Set类型

一、变量和数据类型

  • 注释 #号.
  • 字符串 ” 或则” ”,换行符等同java。r”’…”’,表示raw字符串,不需要对符号进行转译,也不需要换行符等;
  • 编码 Unicode需要在字符串前面加 u。例如 u’孙子’
    如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释
# -*- coding: utf-8 -*-
  • and or相当于java的&& 、||。在Python中把0、空字符串”和None
    看成 False,其他数值和非空字符串都看成 True。所以
a = 'python'
print 'hello,', a or 'world'

输出为hello, python (a为非空字符串,为true,or运算不需要再继续运行)

b = ''
print 'hello,', b or 'world'

输出结果为hello, world

二、List和Tuple类型

List
  • list是一种有序的集合,可以随时添加和删除其中的元素。
    由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据
L = ['Michael', 100, True]
print L

输出[‘Michael’, 100, True]

  • list取元素与java数组类似,L[0],有脚标越界异常。list可以从后往前取,即l[-1]表示最后一个元素,l[-2]表示倒数第二个,依次类推
  • list的增删改
    • 增加:
# 增加到末尾
l.append('verbose')
# 插入,索引号,元素
l.insert(0,'verbose')
  • 删除:pop() 总是删除最后一个元素,并返回该元素,传入索引对应删除
# 当要删除某一个元素时,传入参数
l.pop(0)
Tuple
  • tuple一旦创建不能被修改,可以访问,不能操作
t=(0,1,2,3,4)
  • tuple只有一个元素的时候要加,号以区别运算符
t1=(1)
print t1 
t2=(1,)
print t2

输出结果为1和(1,)

  • 注意,因为tuple中的元素可以为任意类型,所以如果当tuple中的元素为list的时候 是可以修改的

三、条件判断和循环

  • Python的缩进非常严格,具有相同缩进的代码为同一代码块,例如
age = 20
if age >= 18:
    print 'your age is', age
    print 'adult'
print 'END'

注:上面的3,4行 print 语句就构成一个代码块(但不包括第5行的print)。如果 if 语句判断为 True,就会执行这个代码块。
缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
如果你在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车:

  • if条件判断 if加条件加:后跟代码块
score = 75
if score>=60:
    print 'passed'
# else语句,不要漏掉:
score = 55
if score>=60:
    print 'passed'
else:
    print 'failed'

Python还有一个not运算

  • if…elif
if age >= 18: 
    print 'adult'
elif age >= 6:
    print 'teenager'
elif age >= 3: 
    print 'kid'
else: 
    print 'baby'

**特别注意: **这一系列条件判断会从上到下依次判断,如果某个判断为 True,执行完对应的代码块,后面的条件判断就直接忽略,不再执行了。

  • for循环遍历list
L = ['Adam', 'Lisa', 'Bart']
for name in L:
    print name

**注意: ** name 这个变量是在 for 循环中定义的,意思是,依次取出list中的每一个元素,并把元素赋值给 name,然后执行for循环体(就是缩进的代码块)。

  • while循环
    和 for 循环不同的另一种循环是 while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。
    比如要从 0 开始打印不大于 N 的整数:
N = 10
x = 0
while x < N: 
    print x
    x = x + 1
  • break跳出循环
  • continue跳过后面的代码直接进入下一个循环

四、Dict和Set类型

  • Dict用于存放键值对
    dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样
    dict的第二个特点是作为 key 的元素必须不可变
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59,
    'Paul': 75
}

打印结果为:{‘Lisa’: 85, ‘Paul’: 75, ‘Adam’: 95, ‘Bart’: 59}
从打印结果来看是无序存放

  • Dict的增删改查
    • :同list,d[key],通过键查找值
      注意:如果key不存在,会报KeyError异常
      在查找时有两个方法
      一、先判断键是否存在
if 'Paul' in d:
    print d['Paul']

二、是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

d.get(key)
  • 增、改:d[key]=??? 直接赋值,如果该key不存在则创建,否则替换key所指向的值
  • 删除:删除单一元素 del关键字,清空dict.clear();
del d[key];
d.clear(); 
  • 遍历dict,用for循环遍历dict中的key,通过key获取值
d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for key in d:
    print key+':',d[key]
  • Set:持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
    创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素:
s = set(['A', 'B', 'C'])
  • 访问Set:由于set是无序且无key,不能通过索引或key来获取元素。
    但是可以通过in关键字来判断该元素是否在set中
print 'A' in s

如果s中有元素A 返回true反之返回false

  • set的特点:

    • set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
    • set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
  • 遍历set,与list类似

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
    print x[0] + ':', x[1]
  • 更新set
    • 增加元素 add()
      如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了
s = set([1, 2, 3])
s.add(4)
  • 删除 删除set中的元素时,用set的remove()方法:
s = set([1, 2, 3, 4])
s.remove(4)

如果删除的元素不存在set中,remove()会报错,因此操作时应该判断一下

阅读 Python入门笔记(二)

    原文作者:黑丫山上小旋风
    原文地址: https://www.jianshu.com/p/8d8507601565
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞