Python笔记

简介:

一、基础

  1. None:空值
  2. 0x :16进制前缀; 0 :8进制前缀
  3. x, y = y, x:交换值
  4. #:单行注释
  5. False = 0 = [] = {}

运算符

  1. +:可用于数字运算、序列连接、字符串连接
  2. *:可用于数字运算、序列重复、字符串重复
  3. **:幂运算,优先级最高的符号运算符
  4. in:检测是否存在其中,可用于检测字符串、序列、

输出

  1. print("My name is Li."):打印输出
  2. print(r'etc\drivers\hosts'):打印原始字符串(不转义)
  3. print(u'1234567'):打印 Unicode 字符串(3.0后,字符串全都是 Unicode 字符串)

输入

  1. input("Your name: "):获取输入
  2. raw_input("Your age: ") 将接收值转换为字符(常用)(3.0时被重命名为 input)

导入

  1. import math:导入库(模块)
  2. from math import sqrt as sqrt1:导入函数并取别名

cmath 为 complete math,其函数可处理虚数等复杂运算

二、通用列表

索引取值

  1. numbers[-1]: 倒数第一个元素
  2. numbers[3:6]:取子集 【得到(6 - 3)个数】
  3. numbers[-2:]:取最后 2个数的子集
  4. numbers[:3]:取前面 3个数的子集
  5. numbers[:]:复制整个序列
  6. numbers[0:10:2]:按 歩长 取数的子集 【分别取得第1,3,5,7,9个数】
  7. numbers[0:10:-2]: 反方向 取得子集 【分别取得第10,8,6,4,2个数】

基本操作

  1. numbers[2:2] = list('hello'):插入 5个元素
  2. numbers[3:] = list('world'):替换第 4个元素及之后的元素
  3. numbers[1:4] = []:删除某些值,效果同 del

基本方法

  1. append(9):追加单个元素
  2. count('1'):统计某个元素的出现次数
  3. extend(arr2):在 原列表 中追加另一个列表的元素
  4. index('hi'):凭值找出元素的位置,不存在则引发异常
  5. insert(3, 'app'):在指定位置插入元素
  6. pop():移除元素,默认最后一个
  7. remove('app'):移除指定值的第一个匹配的元素
  8. reverse():将列表反向存放,无返回值
  9. sort():排序原列表,可带参(函数)表示排序方式
  10. sorted(arr):返回已排序的列表副本

元组

  1. 值不可变
  2. 用逗号分隔
  3. tuple 将序列(列表或字符串等)转换为元组
  4. 常用于映射和返回值

三、字符串

格式化

format = "Hello, we have %s%% discount. Only $$%s."
values = ('90', 18) # 自动将 18 转换为字符串
print format % values
  • 具体类型转换格式:
  1. d, i 十进制整数
  2. o 不带符号的八进制
  3. u 不带符号的十进制
  4. x, X 不带符号的十六进制
  5. e, E 浮点数
  6. f, F 十进制浮点数
  7. g, G 浮点数,精度值等于 e (指数大于 -4)或 f
  8. C 单字符
  9. r 字符串(使用 repr 转换)
  10. s 字符串(使用 str 转换)
  • 转换标志
  1. - 左对齐
  2. + 加符号
  3. 0 补够位数
  4. '' 空格,正数前保留空格

方法

  1. find('child'):找子串,返回所在开始位置,找不到则返回 -1
  2. '\'.join(strs):用'斜杠'连接序列(元素全是字符串)
  3. lower():返回小写版
  4. replace(a, b):在字符串中用串 b 替换子串 a
  5. split(','):用'逗号'分隔字符串,存放于序列中
  6. strip():去除两侧的空格
  7. ......

四、字典

创建和使用

  1. dict = {'Mon' : 1, 'Tue': 2, 'Web': 3}
  2. dict['Tue']

方法

  1. clear():清空原始字典的项
  2. copy():返回副本(浅复制)
  3. {}.fromkeys(['name', 'age'], 0):使用键建立字典,值全为 0(第二参数不填则默认为 None)
  4. get('age'):取键值,不存在则返回 None
  5. has_key('sex'):检测是否存在键
  6. items():将字典以列表方式,每项转换为(键,值)形式
  7. keys():将键转换为列表
  8. pop('name'):返回指定值,删除指定键与值
  9. popitem():随机弹出值,并删除键
  10. setdefault('name', 100):获取值,若键不存在则设定键,值为 100(无第二参数则默认值为 None)
  11. update(dict2):利用一个字典更新原字典
  12. values():将值转换为列表

五、常用函数

  1. min()
  2. max()
  3. len()
  4. list('hi'):返回序列 ['h', 'i']
  5. cmp(a, b):比较两个数,返回 1,0,-1
  6. del a删除变量 a的值(移除引用)
  7. exec 'print("Hello world!")':执行语句
  8. eval():求值,同 input()
  9. pass:什么也不做,充当占位符

条件、循环

if name == 'John': 
  print(name)
elif(name == 'Boss'):
  print("My lord.")
else:
  print("None.")

while i < 100:
  i += 1

for num in numbers:
  print(str(num) + '\n')

其他比较运算符

  1. x is y:是否为同一对象(同一引用)
  2. x is not y
  3. x in y:成员资格运算符
  4. x not in y

迭代工具

names = ['a', 'b', 'c', 'd']
ages = [12, 13, 11, 14]

for i in range(len(names)):
  print(names[i], 'is' ages[i], ' years old.')
# 逗号等价于 + ' ' +

for name, age in zip(names, ages):
  print(name, 'is' age, ' years old.')

六、抽象

函数

  1. 支持默认值
  2. *param:单星号,不定量参数
  3. **dict:双星号,传递元组或字典

__metaclass__ = type
class Person:
  def setName(self, name):
    self.name = name
  def getName(self):
    return self.name
  def greet():
    print("Hello , I'm %s." % self.name)

man = Person()
man.greet() # 等价于 Person.greet(man)
目录
相关文章
|
1月前
|
搜索推荐 Python
Leecode 101刷题笔记之第五章:和你一起你轻松刷题(Python)
这篇文章是关于LeetCode第101章的刷题笔记,涵盖了多种排序算法的Python实现和两个中等难度的编程练习题的解法。
21 3
|
1月前
|
存储 开发工具 Python
【Python项目】外星人入侵项目笔记
【Python项目】外星人入侵项目笔记
38 3
|
1月前
|
存储 Python
【免费分享编程笔记】Python学习笔记(二)
【免费分享编程笔记】Python学习笔记(二)
42 0
【免费分享编程笔记】Python学习笔记(二)
|
1月前
|
算法 C++ Python
Leecode 101刷题笔记之第四章:和你一起你轻松刷题(Python)
这篇博客是关于LeetCode上使用Python语言解决二分查找问题的刷题笔记,涵盖了从基础到进阶难度的多个题目及其解法。
15 0
|
1月前
|
算法 C++ Python
Leecode 101刷题笔记之第三章:和你一起你轻松刷题(Python)
本文是关于LeetCode算法题的刷题笔记,主要介绍了使用双指针技术解决的一系列算法问题,包括Two Sum II、Merge Sorted Array、Linked List Cycle II等,并提供了详细的题解和Python代码实现。
13 0
|
1月前
|
算法 C++ 索引
Leecode 101刷题笔记之第二章:和你一起你轻松刷题(Python)
本文是关于LeetCode 101刷题笔记的第二章,主要介绍了使用Python解决贪心算法题目的方法和实例。
11 0
|
1月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
135 0
|
1月前
|
索引 Python
【免费分享编程笔记】Python学习笔记(一)
【免费分享编程笔记】Python学习笔记(一)
38 0
|
3月前
|
Python
【python】】Python 的 queue 模块使用笔记
【python】】Python 的 queue 模块使用笔记
41 0
|
3月前
|
Python
Python笔记9 类
本文是作者的Python复习笔记第九篇,深入探讨了Python中的类和面向对象编程。文中详细解释了如何创建类、实例化对象、定义和使用类方法,以及类的继承、重写方法和嵌套类的使用。此外,还讨论了类模块的导入和导出,包括处理类之间的依赖关系。通过示例代码,文章展示了类在Python编程中的应用和重要性。
27 0