12、python入门知识

Mac使用python教程:

1、Mac系统自带python、安装python3

2、使用sublime text编写python代码,保存为py格式,使用command+b运行代码

 

基础知识点:

1python中数据类型:整数、浮点数、字符串、布尔值、空值(None)。

2print语句:print ‘hello或者 print(‘hello’)

3、注释:#

input(‘请输入内容:’)

4、变量:变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。

5raw字符串:对每一个字符都进行转义会很麻烦。为了避免这种情况,我们可以在字符串前面加个前缀 r ,

表示这是一个 raw 字符串,里面的字符就不需要转义了。例如:'\"To be, or not to be\": that is the question.\nWhether it\'s nobler in the mind to suffer.’改成r’’’…’’’形式为:

print r'''To be, or not to be": that is the question.

Whether it's nobler in the mind to suffer.'''

6、多行字符串:'''...'''表示多行字符串,如:

'''Line 1

   Line 2

   Line 3''' 或者'Line 1\nLine 2\nLine 3'

7unicode编码:输出中文需要加上u,例如:print u'中文',如果中文字符串在Python环境下遇到 UnicodeDecodeError,

这是因为.py文件保存的格式有问题。可以在第一行添加注释:# -*- coding: utf-8 -*-python3版本不需要u。

8、整数和浮点数运算:Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数,1 + 2.0等于3.0。

9list:Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。

由于Python是动态语言,所以list中包含的元素并不要求都必须是同一种数据类型,我们完全可以在list中包含各种数据:L = ['Michael', 100, True].

循环:for name in L

10、按照索引访问listL[0]、L[1],不能越界。

11、倒序访问listprint L[-1]、print L[-2],分别是倒一、倒二位数。

12、添加元素:append(末尾添加),insert(索引,值)。

13、删除元素:pop()(末尾删除),pop(索引,值)。

14、替换元素:直接使用索引替换赋值,例如:L[2] = 'Paul'

14、对list进行切片:L[0:3],取前3个元素。切片操作还可以指定第三个参数:L[::3]表示第三个参数表示每N个取一个。L[::2] 会每两个元素取出一个来,也就是隔一个取一个。tuple切片一样。

14、倒序切片:倒数第一个元素的索引是-1,L[-2:]取最后两个元素。

15、索引迭代enumerate(L):

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for index, name in enumerate(L):

    print index, '-', name

15tuple元组列表tuple是另一种有序的列表,tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。创建tuple和创建list唯一不同之处是用( )替代了[ ]。例如t=(‘bob’,’jake’)

获取 tuple 元素的方式和 list 是一样的,t[0],但是不能赋值成别的元素。

16、创建单元素tuple:单元素 tuple 要多加一个逗号“,”,例如:t = (1,),才输出正确tuple:(1,)。

17、可变的tuplet=(‘a’,’b’,[‘c’,’d’]),此时[]中的值是可变的。例如:t[2][0]=‘x’。

18if语句:例如:

age = 20

if age >= 18:

    print 'your age is', age

    print 'adult'

print 'END'

输出结果:

your age is 20

adult

END

注意: Python代码的缩进规则。4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。

19if-else语句:

if age >= 18:

    print 'adult'

else:

    print 'teenager'

20if-elif-else语句:

if age >= 18:

    print 'adult'

elif age >= 6:

    print 'teenager'

elif age >= 3:

    print 'kid'

else:

    print 'baby'

21for循环语句:

eg:L = ['Adam', 'Lisa', 'Bart']

for name in L:

    print name

22while循环语句:比如要从 0 开始打印不大于 N 的整数:

N = 10

x = 0

while x < N:

    print x

    x = x + 1

23break退出循环:比如计算1至100的整数和,我们用while来实现:

sum = 0

x = 1

while True:

    sum = sum + x

    x = x + 1

    if x > 100:

        break

print sum

24 continue继续循环:利用for循环计算平均分的代码:

L = [75, 98, 59, 81, 66, 43, 69, 85]

sum = 0.0

n = 0

for x in L:

    sum = sum + x

    n = n + 1

print sum / n

25、多重循环:

eg:for x in ['A', 'B', 'C']:

            for y in ['1', '2', '3']:

                print x + y

输出结果:

A1

A2

A3

B1

B2

B3

C1

C2

C3

26、什么是dict(相当于对象)提供len()方法,获取长度。

d = {

    'Adam': 95,

    'Lisa': 85,

    'Bart': 59

}

27、访问dict使用 d[key的形式来查找对应的 value,print d['Adam’]

注意:使用dict本身提供的一个 get 方法,在Key不存在的时候,返回Noneprint d.get('Adam')

28dict的特点:

  • 查找速度快
  • key不能重复
  • 存储的key-value序对是没有顺序的(打印的顺序不一定是我们创建时的顺序)

29、更新dict用赋值语句:

d = {

    'Adam': 95,

    'Lisa': 85

}

 d['Paul'] = 72

30、遍历dict

for key in d:

     print key

31、迭代dictvalued = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 },d.values()

迭代dictkeyvalue:eg:

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }

for key, value in d.items():

    print key, ':', value

31什么是setset的元素没有重复,而且是无序的.

s = set(['A', 'B', 'C'])

print s

set(['A', 'C', 'B'])

32、访问set:由于set存储的是无序集合,所以我们没法通过索引来访问。

访问 set中的某个元素实际上就是判断一个元素是否在set中。

 s = set(['Adam', 'Lisa', 'Bart', 'Paul'])

'Bart' in s

True

'bart' in s

False

所以大小写很重要,'Bart' 和 'bart'被认为是两个不同的元素。

33set的特点:

  • set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
  • set存储的元素和dictkey类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
  • 最后,set存储的元素也是没有顺序的。

34、遍历set:同dict

35、更新set

添加:add():s = set([1, 2, 3])  >>> s.add(4),如果添加的元素已经存在于set中,add()不会报错,但是不会加进去了。

删除:remove():s = set([1, 2, 3, 4])  >>> s.remove(4),如果删除的元素不存在set中,remove()会报错。

36、常见内置函数:

abs(100):求绝对值

cmp(1, 2):比较函数,如果 x<y,返回 -1,如果 x==y,返回 0,如果 x>y,返回 1

int('123’):可以把其他数据类型转换为整数

str(123):可以把其他数据类型转换为字符串型。

37、编写函数:Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:

eg:def my_abs(x):

    if x >= 0:

        return x

    else:

        return -x

return None可以简写为return

38、定义可变参数:

def fn(*args):

    print args

输出:>>> fn()

()

>>> fn('a')

('a',)

>>> fn('a', 'b')

('a', 'b')

>>> fn('a', 'b', 'c')

('a', 'b', 'c')

39、生成列表:例如:如果要生成[1x1, 2x2, 3x3, ..., 10x10]

[x * x for x in range(1, 11)]

输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

40、条件过滤:列表生成式的 for 循环后面还可以加上 if 判断。例如:如果我们只想要偶数的平方

[x * x for x in range(1, 11) if x % 2 == 0]

输出结果:[4, 16, 36, 64, 100]

41、多层表达式:for循环可以嵌套,因此,在列表生成式中,也可以用多层 for 循环来生成列表。

对于字符串 'ABC' 和 '123',可以使用两层循环,生成全排列:

>>> [m + n for m in 'ABC' for n in '123']

输出结果:[‘A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3'] 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-03-17 14:50  要什么自行车y  阅读(252)  评论(0编辑  收藏  举报