Skip to content

Python 基础

约 525 个字 预计阅读时间 2 分钟

基础语法

Python 的语法比较简单,以至于被称作“可以运行的伪代码”,基础知识去菜鸟教程上看看就差不多了,实战中Python有大量且好用的第三方库,大约目前有六万多个,常用的当然没有这么多。使用Python一段时间之后,便可以根据已有知识,尝试正确地猜出新功能的作用。

输入输出

2种键盘输入的方式:

  1. 运行时从键盘输入,最常用map(int,input().split())
  2. 运行时数据跟在程序名称后面(命令行参数),形如python.exe test.py 1 2

可以用eval对输入进行处理,这样可以一次性处理不同类型,因为eval可以执行任何代码(字符串格式),但是这么做的风险其实很大,终归是任意代码执行(

格式化字符串

Python输出格式控制:可以用sep指定分隔符,end指定换行符

  • 旧式格式化,类似于C:print("%d %f" %(10,20.0))
  • 格式化字符串:print('{:*<10.2f} + {} = {}'.format(x, y, x + y))
  • {}是可以嵌套的,比如print('{:{}d}'.format(10,5)),应该是由外向内解析
  • f-string(3.6+新语法):print(f'Name: {name:*^10}, Age: {age:.2f}')
  • 可以使用r''表示原始字符串,用于替换转义字符,即raw

Python的风格

Note

首先就可以问个问题,为什么len不是方法

点击展开,回答仅供参考 首先要意识到 len 不是方法,理由是平时都是 len(x) ,而不是 x.len() 。 至于为什么,大概是因为它很常用,所以经过了特殊处理,已经可以算是Python内置的运算符了。

Python可以被视为一个框架,解释器会调用特殊的方法(即魔术方法)来执行基本对象操作,特殊方法两端都有下划线__,也被称作魔术方法(magic method),这些方法是无法自己实现的,因为它们是给解释器用的,绝大部分时候特殊方法都是隐式调用的,比如for i in x:其实会调用iter(x),接着调用x.__getitem__,唯一的例外是__init__方法,它是用于类的初始化。特殊的方法可以用于类的实现,避免反复造轮子,并且标准库的实现显然比你的实现更高效,所以要优先选择标准库。