- 基础知识第一部分
- 1、打印:
- python2 : print ‘hello,world‘
- python3 : print(‘hello,world‘)
- 注意:在print语句中可以打印多个字符串,用逗号相连即可,逗号会被当做空格打印出来
- 2、首行代码格式:当代码中包含中文的时候,需要告诉解释器代码以utf-8编码保存
- 3、输入:
- python2 : raw_input()
- python3 : input()
- 4、变量:可以改变的量,可以是整数、浮点数、字符串等
- a=‘ABC‘
- b=a
- a=‘XYZ‘
- print(b)
- 注意:这里的b仍然指向‘ABC’
- 5、缩进:4个空格,如果使用Tab键,则要将Tab键设置为默认4个空格,并且Tab键和空格不要混用
- 6、数据类型:
- 整数:1、100、-8、0 等
- 浮点数:也称小数
- 字符串:在python3中字符串使用Unicode编码
- 用单引号或者双引号括起来的任意文本
- 如果字符串中包含多行内容,可以使用三引号 ‘‘‘......‘‘‘
- 如果字符串内包含了单引号或者双引号,可以使用转义字符 \ 来标识,或者使用原始字符串r‘......‘
- 如果要计算字符串包含多少个字符,可以使用 len() 函数
- 布尔值:True或者False
- 空值:None ,注意None不是0
- 7、常量:如π等
- 8、除法:
- / : 结果取浮点数,即使可以整除
- // : 地板除,结果取整数部分
- % : 结果取余数部分
- 9、编码
- 8比特(bit)作为一个字节(byte),一个字节能表示的最大整数是255(二进制的11111111)
- Unicode通常用两个字节表示一个字符(特殊字符使用4个字节)
- ASCII编码是1个字节,Unicode编码通常是2个字节
- UTF-8 编码把一个Unicode字符根据不同的数字大小变成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。
- 如果需要传输的文本包含大量的英文字符,使用utf-8编码可以节省空间。
- 对于单个字符的编码,ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
- python的字符串类型是str,在内存中以Unicode表示,一个字符串对应若干个字节。如果要在网络上传输,或者保存到磁盘中,就需要把str变成以字节为单位的bytes,通过 encode() 方法进行转换,对bytes类型的数据用带b前缀的单引号或者双引号表示。反之通过decode()方法将bytes类型转换为str类型。
- 10、格式化
- % 运算符用来格式化字符串(%%表示一个%)
- %s表示用字符串替换
- %d表示用整数替换
- %f表示用浮点数替换
- %x表示用十六进制整数替换
- 11、list:有序的集合,可以随时添加或者删除其中的元素 ,用 [ ] 表示
- len() 函数可以获得 list 元素的个数
- list的索引从0开始,最后一个元素的所引为 -1 。
- append() 方法可以往list中追加元素到末尾
- insert() 方法可以把元素插入到指定的位置
- pop(i) 方法可以删除list中的元素,默认删除最后一个元素
- 要把某个元素替换成别的元素,可以直接赋值给对应元素的索引位置
- list里面的元素的数据类型可以不同,也可以是一个列表或者元组
- 12、tuple:有序的集合,与list类似,但是元组不可修改。
- 定义tuple的时候,元素必须被确定下来。
- 要定义一个空的tuple,可以写成 ( )
- 要定义一个只有一个元素的tuple,要在唯一的元素后面加上一个逗号
- tuple不可变指的是tuple中的元素指向不可变,比如其中的一个元素指向一个list,这个list中的内容是可以变的。
- 13、条件判断
- if、elif、 else
- 注意 冒号和缩进 。
- if语句的执行是从上往下判断的,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else。
- 14、循环
- for循环:依次把list或者tuple中的每一个元素迭代出来
- while循环:只要条件满足就不断循环
- break:跳出本循环,执行之后的程序
- continue:跳出本次循环,进入下一次循环
- 15、dict(字典)
- 用 { } 表示
- key-value
- 无序
- 一个key只能对应一个value,多次对一个key放入value会把前面的值冲掉,如果key不存在,会报错
- 要删除一个key,可以使用pop(key)的方法,对应的value也会被删除
- dict的key必须是不可变对象
- 16、set(集合)
- set是一组key的集合,不包含value
- 无序
- 用 { } 表示
- 用set()方法创建,需要提供一个列表作为输入集合
- 元素无重复
- add(key)方法可以添加元素到set中
- remove(key)方法可以删除元素
- 两个set可以做数学意义上的交集、并集等操作
- 基础知识第二部分(函数)
- 1、内置函数
- abs():取绝对值
- int(): 把其他数据类型转换为整型
- float(): 把其他数据类型转换为浮点型
- str(): 把其他数据类型转换为字符串
- bool(): 把其他数据类型转换为布尔类型
- max(): 接受任意多个参数,返回其中最大的元素
- min(): 接受任意多个参数,返回其中最小的元素
- isinstance()可以对参数类型进行检查
- >>> isinstance(1,int)
- True
- >>> isinstance(1,str)
- False
- 2、自定义函数
- 格式: def 函数名 () :
- 函数的返回值用return语句返回,如果没有return语句,函数执行完会返回None
- 函数也可以返回多个值,以tuple形式返回
- 3、空函数:
- 4、函数参数:
- (1)位置参数:根据对应的位置对参数进行赋值
- def power(x,y):
- power(2,3)
- #x=2; y=3
- (2)默认参数:
- 定义函数时对某些参数进行赋值,在函数调用的时候,如果重新对该参数进行了赋值,则采用新的值,如果没有进行赋值,则采用默认值。
- def power(2,y=3):
- power(2) ->8
- power(2,4) ->16
- 当有多个默认参数时,既可以按顺序提供参数来调用函数,也可以通过指定参数的名字来调用函数
- def hanshu(x,y=2,z=3):
- >>> hanshu(2)
- 7
- >>> hanshu(2,1,1)
- 4
- >>> hanshu(2,z=1,y=2)
- 5
- 默认参数必须指向不可变对象,因为对于可变对象,在函数被调用时如果对参数进行了修改,再下一次调用该函数时,默认参数是被修改过后的值。
- (3)可变参数:这里的可变是指参数的数量是可变的,而不是参数的内容。这些参数在调用时自动组装成一个tuple
- def hanshu(*num):
- >>> hanshu(1,2,3,4)
- (1, 2, 3, 4)
- def calc(*numbers):
- sum = 0
- for i in numbers:
- return sum
- >>> calc(1,2)
- 3
- >>> calc(1,2,3,4)
- 10
- >>> calc(*(1,2,3)) 注意:如果传入的参数本身就是一个tuple或者list,可以在前面加上 * 将其中的所有元素作为可变参数传入。
- 6
- (4)关键字参数:关键字参数允许传入0个或者任意个含参数名的参数,这些参数咋函数内部自动组装为一个dict
- def hanshu(**num):
- hanshu(one = ‘1‘,two = ‘2‘)
- {‘two‘: ‘2‘, ‘one‘: ‘1‘}
- (5)参数组合的顺序:
- 参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
- 在函数调用的时候, Python 解释器自动按照参数位置和参数名把对应的参数传进去。
- 5、递归函数:如果在一个函数内部调用这个函数本身,那么这个函数就是递归函数
- def fact(n):
- if n==1:
- return n*fact(n-1)
- >>>fact(1)
- 1
- >>>fact(5)
- 120
- 高级特性
- 1、切片:取一个list、tuple或者字符串的其中一部分
- >>> a = [1,2,3,4,5]
- >>> a[0:3]
- [1, 2, 3]
- 注意:
- 切片包含第一个索引位置的值,但是不包含后一个索引位置的值(顾前不顾后)
- [:] 可以直接复制一个list、tuple或者字符串
- 2、迭代:
- 给定一个list或者tuple,可以通过for循环来遍历这个list或者tuple,这种遍历称作迭代
- python的for循环不仅可以用在list和tuple上,还可以用在其他可迭代对象上,比如字典默认迭代的是key。
- 如果想要对list对象实现下标循环,可以使用enumerate() 函数把一个list对象变成索引-元素对。
- for i, value in enumerate([‘A‘,‘B‘,‘C‘]):
- 0 A
- 1 B
- 2 C
- 3、列表生成式
- list(range(0,10)) => list[0,1,2,3,4,5,6,7,8,9]
- 举例:
- >>>[x * x for x in range(0,10)]
- [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
- >>> [x * x for x in range(1, 11) if x % 2 == 0]
- [4, 16, 36, 64, 100]
- >>> [m + n for m in ‘ABC‘ for n in ‘XYZ‘]
- [‘AX‘, ‘AY‘, ‘AZ‘, ‘BX‘, ‘BY‘, ‘BZ‘, ‘CX‘, ‘CY‘, ‘CZ‘]
- >>> d = {‘x‘: ‘A‘, ‘y‘: ‘B‘, ‘z‘: ‘C‘ }
- >>> [k + ‘=‘ + v for k, v in d.items()]
- [‘x=A‘, ‘y=B‘, ‘z=C‘]
- >>> L = [‘Hello‘, ‘World‘, ‘IBM‘, ‘Apple‘]
- >>> [s.lower() for s in L]
- [‘hello‘, ‘world‘, ‘ibm‘, ‘apple‘]
Python3初级知识整理
原文:https://www.cnblogs.com/muouran0120/p/11322467.html