python学习(廖雪峰的官方网站部分,自学笔记)

python学习

廖雪峰的官方网站强烈推荐

字符串

Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符

ord( )先当与把字符转成整形,chr( ) 把编码转化成相应的字符

有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%

使用list 和 tuple

list[ ]

list是python内置的一种数据类型,可以i随时添加删除相应的元素

比如,列出班里所有同学的名字,就可以用一个list表示:

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

classmate就是一个list,用len()就可以计算list内的元素个数

用list内的索引就可以访问list内的元素,注意索引是从下标0开始

>>> classmates[0]
'Michael'
>>> classmates[1]
'Bob'
>>> classmates[2]
'Tracy'
>>> classmates[3]
Traceback (most recent call last):
  File "", line 1, in <module>
IndexError: list index out of range

当索引超出范围时会报错,-1可以直接访问最后一个元素,这里的负号就是倒数第几的意思

>>> classmates.append('Adam')
>>> classmates
['Michael', 'Bob', 'Tracy', 'Adam']

用append函数可以加入元素

用pop()函数可以删除元素:注意,pop()是删除最后一个元素,删除第几个时,pop( i ),i,是索引

list可以嵌套,内部的数据类型也可以不一样,如果要替换,直接赋值到相应的索引对应的元素

tuple( )

和list 最大的不同就是tuple是有序的列表,但是一旦初始化后就不能被修改,没有增加删除函数(append,pop)

获取元素的方法和list 是一样的

要定义一个只有1个元素的tuple,如果你这么定义:

>>> t = (1)
>>> t
1

定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1

所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义:

>>> t = (1,)
>>> t
(1,)

Python在显示只有1个元素的tuple时,也会加一个逗号,,以免你误解成数学计算意义上的括号。

条件判断

age = 20
if age >= 18:
    print('your age is', age)
    print('adult')
age = 3
if age >= 18:
    print('your age is', age)
    print('adult')
else:
    print('your age is', age)
    print('teenager')

注意 :if else后面没有括号,后面加冒号 else if 的缩写是elif

input函数返回值是str 所以可以加int( ) 强制类型转换,但是int函数如果发现不是合法的数字就会报错

循环

我们学C++知道,循环分为for ,while ,dowhile循环,python中的循环分为两种,一种是for。。。in循环

依次把list中的元素输出出来

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句

range函数(),可以生成一个整数序列,比如range(5),是生成0,1,2,3,4五个数

for循环后面也要加冒号,

另一个就是while循环,只要条件满足就不断循环,只要条件不满足就跳出循环

可见continue的作用是提前结束本轮循环,并直接开始下一轮循环

n = 1
while n <= 100:
    if n > 10: # 当n = 11时,条件满足,执行break语句
        break # break语句会结束当前循环
    print(n)
    n = n + 1
print('END')

使用dict和set

dict

全程dictionary,就是字典,在其他语言中就是map,使用键-值查找有极快的速度

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95

要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

要删除一个key,使用pop(key)的方法,对应的value也会删除

set

创建一个set需要一个list作为输入集合

set中没有重复的数据,重复的数据直接被删除(过滤),add()函数可以添加元素

remove()删除元素

set可以看作数学上的集合,因此何以进行与,并等操作,

函数

python内置了很多函数,可以去官方网站中查看http://docs.python.org/3/library/functions.html#abs

max函数max()可以接收任意多个参数,并返回最大的那个:

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

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名):

空函数,使用pass语句,pass 语句就是啥也不干,占位符

定义函数时,需要确定函数名和参数个数;

如果有必要,可以先对参数的数据类型做检查;

函数体内部可以用return随时返回函数结果;

函数执行完毕也没有return语句时,自动return None

函数可以同时返回多个值,但其实就是一个tuple。

关键字参数

可变参数允许传入0个或者任意个参数,这些参数自动组装成为一个tuple,而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict(字典),可以扩展函数的功能,

可以先组装一个dict然后再传参

>>> extra = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **extra)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}

命名关键字参数

调用者可以传入不受限制的关键字参数

如果要设置受限制的关键字参数,就要用*来分割, *后的参数被视为关键字参数,

参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数

你可能感兴趣的:(暑假笔记,python,学习,笔记)