Python常忘的基础知识

0.目录

1.进制

  • 1.1 各进制的表示
  • 1.2 各进制的转换

    2.字符

  • 2.1 转义字符
  • 2.2 原始字符串

    3.类型

  • 3.1 基本数据类型
  • 3.2 type()

    4.变量与运算符

  • 4.1 值类型与引用类型
  • 4.2 列表的可变与元组的不可变
  • 4.3 运算符

    5.包与模块

  • 5.1 Python项目的组织结构
  • 5.2 导入模块
  • 5.3 __init__.py的用法
  • 5.4 模块内置变量
  • 5.5 入口文件
  • 5.6 __name__的经典应用
  • 5.7 相对导入和绝对导入

    6.函数

  • 6.1 认识函数
  • 6.2 序列解包与链式赋值
  • 6.3 必须参数、关键字参数、默认参数
  • 6.4 可变参数、关键字可变参数
  • 6.5 global关键字

1.进制

1.1 各进制的表示

0b(零b)表示二进制

0o(零o)表示八进制

0x(零x)表示十六进制

1.2 各进制的转换

bin() 将其他进制数转化为二进制

int() 将其他进制数转化为十进制

hex() 将其他进制数转化为十六进制

oct() 将其他进制数转化为八进制

2.字符

2.1 转义字符

转义字符:

  • 特殊的字符
  • 无法“看见”的字符
  • 与语言本身语法有冲突的字符
  • \n 换行
  • \r 回车
  • ‘ 单引号
  • \t 横向制表符

    2.2 原始字符串

    用 r‘字符串‘ 或 R‘字符串‘ 表示原始字符串

    3.类型

    3.1 基本数据类型

    有序(序列):

  • 列表 list
  • 元组 tuple

无序:

  • 集合 set
  • 字典 dict

序列共有的操作:

  • len() 求序列的长度
  • max()最大元素
  • min()最小元素
  • ord()ASCII码

集合的操作:

{1,2,3,4,5,6} - {3,4} 为 {1,2,5,6}

{1,2,3,4,5,6} & {3,4} 为 {3,4}

{1,2,3,4,5,6} | {3,4,7} 为 {1,2,3,4,5,6,7}

字典的规则:

  • 不能有相同的key
  • key的取值:必须是不可变类型,如int str tuple
  • value的取值:str int float list set dict

    3.2 type()

    type((1)) 是 int

    type((1,)) 是 tuple

type((‘hello‘)) 是 str

type([1]) 是 list

定义空元组:type(())

定义空集合:type(set())

定义空字典:type({})

4.变量与运算符

4.1 值类型与引用类型

值类型:int str tuple(不可变)

引用类型:list set dict(可变)

id()函数显示变量在内存中的地址

4.2 列表的可变与元组的不可变

列表可改变

元组不可改变

4.3 运算符

1.算术运算符:加减乘除、取余%、乘方

2.赋值运算符

3.比较(关系)运算符

不只是数字才能做比较运算:

4.逻辑运算符:and(与)、 or(或)、 not(非)

5.成员运算符:in、not in

6.身份运算符:is、not is

如何判断变量的值、身份与类型?**

  1. == 比较是否相等
  2. is 比较身份是否相等,即比较两个变量的内存地址是否相等,可以用 id() 查看变量的内存地址
  3. isinstance() 比较类型是否相等,不推荐使用 type(a) == int 这种方法,而是使用 isinstance(a, str) 这种方法。而且还可以使用 isinstance(a, (int, str, float)) 判断a是不是int, str, float中的任意一种。最重要的是type不能判断变量的子类是否属于某种类型,但是isinstance可以

ps:对象的三个特征:id、value、type(分别用is、==、isinstance)

7.位运算符(把数字当做二进制数进行运算):

&(按位与)
|(按位或)
^(按位异或)
~(按位取反)
<<(左移动)
>>(右移动)

5.包与模块

5.1 Python项目的组织结构

包 → 模块 → 类 → 函数、变量

包相当于文件夹

命名空间:包名.模块名

如何让普通文件夹成为包?——必须包含__init__.py文件

__init__.py文件本身也是一个模块

包下__init__.py的模块名就是包名

5.2 导入模块

import导入模块:

  • import 模块名 as xxx
  • import 包名.模块名 as xxx——print(包名.模块名.变量名)

from import 导入模块

  • from 包名.模块名 import 变量名
  • from 包名 import 模块名
  • from 包名.模块名 import *

在模块中设置 __all__ = [‘a‘, ‘c‘] 可以控制 from 包名.模块名 import * 导入的变量为a和c

5.3 __init__.py的用法

**导入包时会自动运行 __init__.py 文件**

在 __init__.py 文件使用 __all__ = [‘c1‘] 可以控制导入的模块为 c1.py

包与模块的几个常见错误:

  • 包和模块是不会被重复导入的
  • 避免循环导入
  • 导入模块时Python会自动执行导入模块里面的所有代码

    5.4 模块内置变量

    dir()函数返回当前模块所有的变量:

    内置变量:

  • name 是模块的完整名称(包括命名空间)
  • package 是包名
  • doc 是模块的注释
  • file 是当前模块在系统里面的物理路径

不同的运行:

5.5 入口文件

入口文件会导致内置变量的不同

  • 如果一个普通的.py文件被当作应用程序的入口,那么它的变量 **__name__** 就不再是本身模块的名称,而是会被强制更改为 **__main__**
  • 如果一个普通的.py文件被当作应用程序的入口,那么它的顶级是不会再有包的如果一个普通的.py文件被当作应用程序的入口,那么它的变量 **__file__** 不再是绝对路径,而是和执行python命名所在目录有关

    5.6 __name__的经典应用

    使用dir()函数查看模块或类相关的变量:

Make a script both importable and executable

if __name__ == "__main__":

Python脚本既可以作为一个普通的模块提供给其它应用程序来调用,也可以让它自己成为一个可执行的文件。

__name__的经典应用:

使用 python -m 命令将一个可执行文件当作一个普通的模块:

ps:普通的模块必须要有包

5.7 相对导入和绝对导入

决定顶级包的是可执行文件

绝对导入(绝对路径):

  • import 顶级包...中间包...模块名
  • 绝对引入一定要从顶级包开始

相对引入:

  • . 表示当前目录
  • .. 表示上一级目录

在入口文件中不能进行相对导入

相对路径之所以能够找到对应的模块,在于根据内置变量 __name__ 来定位。但是由于 main.py 是入口文件, __name__ 被强行改成 __main__ ,但是 __main__ 这个模块不存在,所以在入口文件中不可以使用相对路径来导入模块

6.函数

6.1 认识函数

round()函数用于保留几位小数(自动四舍五入):

如何限制函数递归层数:

import sys

sys.setrecursionlimit(1000)

如何让函数返回多个结果:

  1. 返回元组
  2. 序列解包

    6.2 序列解包与链式赋值

    序列解包(数量要相等):

链式赋值:

a, b, c = 1, 1, 1改为a=b=c=1

6.3 必须参数、关键字参数、默认参数

1.必须参数——形参、实参

形参:

实参:

2.关键字参数

不用按必须参数的顺序传递,随意顺序

3.默认参数

6.4 可变参数、关键字可变参数

1.可变参数

必须参数必须放在可变参数前面

可以把默认参数放在可变参数后面,然后利用关键字参数传值

使用*a来解包元组:

2.关键字可变参数

传入任意个数的关键字可变的参数:

遍历字典:items

使用**a来解包字典:

ps:什么参数都不传,param 将为空字典

6.5 global关键字

global关键字:声明全局变量

原文地址:https://www.cnblogs.com/PyLearn/p/10031604.html

时间: 2024-11-02 10:24:28

Python常忘的基础知识的相关文章

VII Python(4)基础知识

VIIPython(4)基础知识 python函数: 函数是为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构: 函数是一种设计工具,它能让程序员将复杂的系统分解为可管理的部件: 函数用于将相关功能打包并参数化: python提供很多内置函数,在python中可创建四种函数:全局函数(直接定义在模块中):局部函数(嵌套于其它函数中):lambda匿名函数(表达式,灵活性强):方法(定义在类中的函数,与特定的数据类型关联的函数,并且只能与数据类型关联一起使用): 语法: def funct

深入理解python(一)python语法总结:基础知识和对python中对象的理解

用python也用了两年了,趁这次疫情想好好整理下. 大概想法是先对python一些知识点进行总结,之后就是根据python内核源码来对python的实现方式进行学习,不会阅读整个源码,,,但是应该会把数据结构的实现.函数调用过程.以及python虚拟机的基本原理根据源码解释下. 当然限于笔者只是一个弱鸡,,,如内容有疏漏的地方或者是一些错误,希望看到的大佬不吝赐教. 第一部分 python语法总结 当然如果对python语法还是一无所知的同学请移步缪雪峰或者菜鸟教程等学习网站看一遍再过来,,,

VII Python(3)基础知识

表达式和语句: 常用的表达式操作符: 算术运算:+,-,*,/,//截断除法,%,**幂运算 逻辑运算:x or y,xand y,not x 比较运算:<,>,==,<=,>=,!= 一元运算:-x,+x,~x按位取反 三元选择表达式:x if yelse z 成员关系运算:x iny,x not in y 位运算:x | y,x<< y,x >> y,x & y,x ^ y 索引和分片:x[i],x[i:j],x[i:j:stride] 调用:x

VII Python(2)基础知识

list举例: [[email protected] ~]# vim using_list.py --------------scriptstart------------------ #!/usr/bin/python #filename:using_list.py shoplist=['apple','mango','carrot','banana'] print 'I have',len(shoplist),'items topurchase.' print 'these items ar

(一)Python 学习第一天--基础知识,列表

1. .pyc文件 .pyc文件:在python3中,当模块运行时会自动生成在_pycache_文件夹中,其中c为compiled的缩写. Python是一门现编译后解释的语言,在运行时首先寻找.pyc文件,若没有先到内存先编译再解释,生成.pyc文件.如果源文件发生改动,则先对比对应的.pyc文件与源文件的时间戳. 2.数据类型 在Python2中当值大于2^64位时,为long型:Python3不存在long型,所有都为int型. 3.三元运算符 result = 值1  if   条件  

关于linux python vim的一些基础知识(很零散)

清空文件夹filenmae下所有文件 rm filename/* vim复制大量代码段 num+yy 从光标起始处复制num个数行 然后 python: 设置中断 1.from IPython import embed 之后再要家终端的地方加embed() 2.数字转字符 num=1 numchar='%d' %num

VII Python(6)基础知识(re正则表达式)

正则表达式RE(regular expression)是一种小型的.高度专业化的编程语言,肉嵌在python中,通过re模块实现: 当发现有问题用正则表达式可解决时,于是将面临两个问题: RE模式被编译成一系统的字节码,再由匹配引擎(C写的)执行,RE语言相对小型和受限(功能有限,并非所有字符串处理都能用RE完成): re模块提供了顶级函数调用,常用的有:findall().sub().match().search().subn().split(): In [1]: import re In [

Python Unicode编码之基础知识

一.什么是Unicode 在Unicode之前,人们使用ASCII码,即每个英文字符都是以7位二进制数的方式存储在计算机内,其范围是32-126,所以ASCII码字符只能表示95个可打印字符:虽然随后将位数扩展值了8位,但依旧最多只能表示233个字符,对于成千上万的非欧洲语系的语言来说有极大的限制. Unicode通过使用一个或多个字节来表示一个字符的方法,突破了ASCII的限制,可以表示超过90000个字符. 二.怎么使用Unicode 从1.6版本起引进了Unicode字符串支持,用来转换多

python【1】-基础知识

1.简介 python是一种解释性的.面向对象的.带有动态语义的高级程序设计语言. 廖雪峰网站:http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000 下载python:https://www.python.org/downloads/ 交互式python解释器:IDLE python是通过缩进来组织代码段的,而不像c#中的大括号.一般推荐使用四个空格作为缩进. 2.表达式 除法: 默认