Python3系列(2)——基础

本文介绍了Python3的基础语法,涉及六种数据类型(可变与不可变)、函数参数(包括必需参数、关键字参数、默认参数和不定长参数),以及模块、输入输出、文件操作和异常处理。还涵盖了类的属性方法、继承与重写,以及标准库中的时间和日期处理技巧。
摘要由CSDN通过智能技术生成

语法
数据类型
六种基本数据类型

​ 三种可变数据类型 List set Dictionary
​ 三种不可变数据类型 字符串 数字 元组

注意点:

每个条件、方法(代码)块之后都要加:,之后缩进进行排序

没有switch-case语句

把一个类作为迭代器需要在类中实现_iter_()和_next_()

创建空集合的方式 set(), {}创建一个空的字典

函数参数
  1. 必需参数

    以正确的顺序出输入参数,调用时的数量必须和声明是的一样

    调用函数参数的时候,必须传入参数,不然语法编译错误

  2. 关键字参数

    函数调用使用关键字参数来确定传入的参数值。

    使用关键字参数允许函数调用是的参数顺序与声明不一致,因为python解释器可以用参数名匹配参数值

  3. 默认参数

    调用函数时,没用传递参数,则会使用默认参数(提前设定默认参数)

  4. 不定长参数(参数个数不定)

    需要处理一个比声明时更多的参数,

    1. 一个* 以元组(tuple)的形式导入参数,存放所有未命名的变量参数
    2. 两个* 字典形式
    3. 单独的* 参数必须用关键字传入
  5. 强制位置参数(3.8)

匿名函数 (lambda)

​ 只能写一行

lambda [arg1 [,arg2,.....argn]]:expression
模块

每个模块都有一个__name__属性,当其值是’__main__'时,表明该模块自身在运行,否则是被引入

输入输出

Python两种输出值的方式: 表达式语句和 print() 函数。

第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用。

如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值。

如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现。

读和写文件

open() 将会返回一个 file 对象

open(filename, mode)
  • filename:包含了你要访问的文件名称的字符串值。
  • mode:决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®
模式rr+ww+aa+
++++
+++++
创建++++
覆盖++
指针在开始++++
指针在结尾++

参数说明:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
  • file: 必需,文件路径(相对或者绝对路径)。
  • mode: 可选,文件打开模式
  • buffering: 设置缓冲
  • encoding: 一般使用utf8
  • errors: 报错级别
  • newline: 区分换行符
  • closefd: 传入的file参数类型
  • opener:
错误和异常

Python assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。

属性
方法

在类的内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数

self代表类的实例,而非类

类的方法与普通的函数只有一个特别的区别——它们必须有一个额外的第一个参数名称, 按照惯例它的名称是 self。

专有方法:
  • init : 构造函数,在生成对象时调用
  • del : 析构函数,释放对象时使用
  • repr : 打印,转换
  • setitem : 按照索引赋值
  • getitem: 按照索引获取值
  • len: 获得长度
  • cmp: 比较运算
  • call: 函数调用
  • add: 加运算
  • sub: 减运算
  • mul: 乘运算
  • truediv: 除运算
  • mod: 求余运算
  • pow: 乘方
继承

单继承

多继承

class DerivedClassName(Base1, Base2, Base3):

需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索 即方法在子类中未找到时,从左到右查找父类中是否包含方法。

方法重写
标准库
时间和日期
  • 今天 today = datetime.date.today()
  • 昨天 yesterday = today - datetime.timedelta(days=1)
  • 上个月 last_month = today.month - 1 if today.month - 1 else 12
  • 当前时间戳 time_stamp = time.time()
  • 时间戳转datetime datetime.datetime.fromtimestamp(time_stamp)
  • datetime转时间戳 int(time.mktime(today.timetuple()))
  • datetime转字符串 today_str = today.strftime("%Y-%m-%d")
  • 字符串转datetime today = datetime.datetime.strptime(today_str, "%Y-%m-%d")
  • 补时差 today + datetime.timedelta(hours=8)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值