Python3初级知识整理
- 基础知识第一部分
- 1、打印:
- python2 : print 'hello,world'
- python3 : print('hello,world')
- 注意:在print语句中可以打印多个字符串,用逗号相连即可,逗号会被当做空格打印出来
- 2、首行代码格式:当代码中包含中文的时候,需要告诉解释器代码以utf-8编码保存
- #-*- coding: 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不存在,会报错
- 避免报错的方法有两个:
- 通过in判断key是否存在
- 通过get方法
- 避免报错的方法有两个:
- 要删除一个key,可以使用pop(key)的方法,对应的value也会被删除
- dict的key必须是不可变对象
- 16、set(集合)
- set是一组key的集合,不包含value
- 无序
- 用 { } 表示
- 用set()方法创建,需要提供一个列表作为输入集合
- 元素无重复
- add(key)方法可以添加元素到set中
- remove(key)方法可以删除元素
- 两个set可以做数学意义上的交集、并集等操作
- 1、打印:
- 基础知识第二部分(函数)
- 1、内置函数
- abs():取绝对值
- int(): 把其他数据类型转换为整型
- float(): 把其他数据类型转换为浮点型
- str(): 把其他数据类型转换为字符串
- bool(): 把其他数据类型转换为布尔类型
- max(): 接受任意多个参数,返回其中最大的元素
- min(): 接受任意多个参数,返回其中最小的元素
- isinstance()可以对参数类型进行检查
- >>> isinstance(1,int)
- True
- >>> isinstance(1,str)
- False
- 2、自定义函数
- 格式: def 函数名 () :
- 函数的返回值用return语句返回,如果没有return语句,函数执行完会返回None
- 函数也可以返回多个值,以tuple形式返回
- 3、空函数:
- pass语句
- 4、函数参数:
- (1)位置参数:根据对应的位置对参数进行赋值
- def power(x,y):
- return x**y
- power(2,3)
- #x=2; y=3
- def power(x,y):
- (2)默认参数:
- 定义函数时对某些参数进行赋值,在函数调用的时候,如果重新对该参数进行了赋值,则采用新的值,如果没有进行赋值,则采用默认值。
- def power(2,y=3):
- return x**y
- power(2) ->8
- power(2,4) ->16
- def power(2,y=3):
- 当有多个默认参数时,既可以按顺序提供参数来调用函数,也可以通过指定参数的名字来调用函数
- def hanshu(x,y=2,z=3):
- return x+y+z
- >>> hanshu(2)
- 7
- >>> hanshu(2,1,1)
- 4
- >>> hanshu(2,z=1,y=2)
- 5
- def hanshu(x,y=2,z=3):
- 默认参数必须指向不可变对象,因为对于可变对象,在函数被调用时如果对参数进行了修改,再下一次调用该函数时,默认参数是被修改过后的值。
- 定义函数时对某些参数进行赋值,在函数调用的时候,如果重新对该参数进行了赋值,则采用新的值,如果没有进行赋值,则采用默认值。
- (3)可变参数:这里的可变是指参数的数量是可变的,而不是参数的内容。这些参数在调用时自动组装成一个tuple
- def hanshu(*num):
- print(num)
- >>> hanshu(1,2,3,4)
- (1, 2, 3, 4)
- def calc(*numbers):
- sum = 0
- for i in numbers:
- sum = sum + i
- return sum
- >>> calc(1,2)
- 3
- >>> calc(1,2,3,4)
- 10
- >>> calc(*(1,2,3)) 注意:如果传入的参数本身就是一个tuple或者list,可以在前面加上 * 将其中的所有元素作为可变参数传入。
- 6
- def hanshu(*num):
- (4)关键字参数:关键字参数允许传入0个或者任意个含参数名的参数,这些参数咋函数内部自动组装为一个dict
- def hanshu(**num):
- print(num)
- hanshu(one = '1',two = '2')
- {'two': '2', 'one': '1'}
- def hanshu(**num):
- (5)参数组合的顺序:
- 参数定义的顺序必须是:必选参数、默认参数、可变参数/命名关键字参数和关键字参数。
- 在函数调用的时候, Python 解释器自动按照参数位置和参数名把对应的参数传进去。
- (1)位置参数:根据对应的位置对参数进行赋值
- 5、递归函数:如果在一个函数内部调用这个函数本身,那么这个函数就是递归函数
- def fact(n):
- if n==1:
- return 1
- return n*fact(n-1)
- >>>fact(1)
- 1
- >>>fact(5)
- 120
- if n==1:
- def fact(n):
- 1、内置函数
- 高级特性
- 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']):
- print(i,value)
- 0 A
- 1 B
- 2 C
- for i, value in enumerate(['A','B','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']
- 1、切片:取一个list、tuple或者字符串的其中一部分
转载于:https://www.cnblogs.com/muouran0120/p/11322467.html
Python3初级知识整理相关推荐
- OSPF初级知识整理
OSPF(开放式最短路径优先协议) 1.协议使用范围:IGP 2.协议算法特点:链路状态型路由协议 3.协议是否传递网络掩码:传递网络掩码(无类别的路由协议) 4.协议封装:基于ip协议封装(即跨层封 ...
- 整理了100道关于Python3基础知识的练习题,记得收藏
100道关于Python3基础知识的练习题 实例1.数字组合 实例2.个税计算 实例3.完全平方数 实例4.这天第几天 实例5.三数排序 实例6.斐波那契数列 实例7.copy 实例8.九九乘法表 实 ...
- Python介绍与特点(自学python知识整理)
Python介绍与特点(自学python知识整理) Python 简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计: Python 是一种解释 ...
- python常用变量名_python基础知识整理
Python Python开发 Python语言 python基础知识整理 序言:本文简单介绍python基础知识的一些重要知识点,用于总结复习,每个知识点的具体用法会在后面的博客中一一补充程序: 一 ...
- Python3基础知识
Python3基础知识 学习路线主要参照:菜鸟教程 和 Python教程2020版 一.Python简介 1. What is Python? Python 是一个高层次的结合了解释性.编译性.互动性 ...
- 01月26日【Python3 基础知识】
01月26日[Python3 基础知识] 5.1 九宫格 5.2 函数入门 5.3 判断某天为某年的第几天 5.1 九宫格 import random x = 0 l = [1,2,3,4,5,6,7 ...
- Spring AOP 知识整理
为什么80%的码农都做不了架构师?>>> AOP知识整理 面向切面编程(AOP)通过提供另外一种思考程序结构的途经来弥补面向对象编程(OOP)的不足.在OOP中模块化的关键单元 ...
- Linux系统基础知识整理
一.说明 本篇文章,我将结合自己的实践以及简介,来对linux系统做一个直观清晰的介绍,使得哪些刚接触Linux的小伙伴可以快速入门,也方便自己以后进行复习查阅. 二.基本知识整理 1.Linux文件 ...
- 计算机二级c语基础知识,计算机二级C语基础知识整理.doc
计算机二级C语基础知识整理 1.1 算法 算法:是一组有穷指令集,是解题方案的准确而完整的描述.通俗地说,算法就是计算机解题的过程.算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计. ...
- js事件(Event)知识整理
鼠标事件 鼠标移动到目标元素上的那一刻,首先触发mouseover 之后如果光标继续在元素上移动,则不断触发mousemove 如果按下鼠标上的设备(左键,右键,滚轮--),则触发mousedow ...
最新文章
- SignalR的另类实现技巧
- 泛函分析3——线性空间和赋范线性空间总结
- Android 条码扫描程序源码
- 30岁程序员吐槽:一分钟只能赚3.3元,混得太差!算出月薪后我服了
- 深度学习(二十五)基于Mutil-Scale CNN的图片语义分割、法向量估计
- 如何测试连接MsSQL数据库-------UDL文件
- 【Flink】This YARN version does not support getSchedulerResourceTypes
- ORA-01940: cannot drop a user that is currently connected
- Atitit.嵌入式web 服务器 java android最佳实践
- 前端知识点查文档网站
- 【测试沉思录】3. 如何测试微信公众号?
- 斑马Revit:“BIM等级考试证书”究竟要不要考?
- AI机器学习实战の电磁导航智能车中神经网络应用的问题与思考-交流向-本科生竞赛
- Ubuntu虚拟机ping不通
- 领英工具:如何使用领英精灵在领英上有序归类分组管理客户?
- Meta分析和网状Meta分析速成班( 2019年12月28-29日 上海)
- 微前端框架哪个好?QianKun还是MicroApp
- css3斜切加颜色,CSS斜切角
- Vue-router无刷新删除页面参数
- 什么是网关,网关的作用是什么