Python笔记
一、基础
-
None
:空值 -
0x
:16进制前缀;0
:8进制前缀 -
x, y = y, x
:交换值 -
#
:单行注释 - False = 0 = [] = {}
运算符
-
+
:可用于数字运算、序列连接、字符串连接 -
*
:可用于数字运算、序列重复、字符串重复 -
**
:幂运算,优先级最高的符号运算符 -
in
:检测是否存在其中,可用于检测字符串、序列、
输出
-
print("My name is Li.")
:打印输出 -
print(r'etc\drivers\hosts')
:打印原始字符串(不转义) -
print(u'1234567')
:打印 Unicode 字符串(3.0后,字符串全都是 Unicode 字符串)
输入
-
input("Your name: ")
:获取输入 -
raw_input("Your age: ")
将接收值转换为字符(常用)(3.0时被重命名为 input)
导入
-
import math
:导入库(模块) -
from math import sqrt as sqrt1
:导入函数并取别名
cmath 为 complete math,其函数可处理虚数等复杂运算
二、通用列表
索引取值
-
numbers[-1]
: 倒数第一个元素 -
numbers[3:6]
:取子集 【得到(6 - 3)个数】 -
numbers[-2:]
:取最后 2个数的子集 -
numbers[:3]
:取前面 3个数的子集 -
numbers[:]
:复制整个序列 -
numbers[0:10:2]
:按 歩长 取数的子集 【分别取得第1,3,5,7,9个数】 -
numbers[0:10:-2]
: 反方向 取得子集 【分别取得第10,8,6,4,2个数】
基本操作
-
numbers[2:2] = list('hello')
:插入 5个元素 -
numbers[3:] = list('world')
:替换第 4个元素及之后的元素 -
numbers[1:4] = []
:删除某些值,效果同del
基本方法
-
append(9)
:追加单个元素 -
count('1')
:统计某个元素的出现次数 -
extend(arr2)
:在 原列表 中追加另一个列表的元素 -
index('hi')
:凭值找出元素的位置,不存在则引发异常 -
insert(3, 'app')
:在指定位置插入元素 -
pop()
:移除元素,默认最后一个 -
remove('app')
:移除指定值的第一个匹配的元素 -
reverse()
:将列表反向存放,无返回值 -
sort()
:排序原列表,可带参(函数)表示排序方式 -
sorted(arr)
:返回已排序的列表副本
元组
- 值不可变
- 用逗号分隔
-
tuple
将序列(列表或字符串等)转换为元组 - 常用于映射和返回值
三、字符串
格式化
format = "Hello, we have %s%% discount. Only $$%s." values = ('90', 18) # 自动将 18 转换为字符串 print format % values
- 具体类型转换格式:
- d, i 十进制整数
- o 不带符号的八进制
- u 不带符号的十进制
- x, X 不带符号的十六进制
- e, E 浮点数
- f, F 十进制浮点数
- g, G 浮点数,精度值等于 e (指数大于 -4)或 f
- C 单字符
- r 字符串(使用 repr 转换)
- s 字符串(使用 str 转换)
- 转换标志
-
-
左对齐 -
+
加符号 -
0
补够位数 -
''
空格,正数前保留空格
方法
-
find('child')
:找子串,返回所在开始位置,找不到则返回 -1 -
'\'.join(strs)
:用'斜杠'连接序列(元素全是字符串) -
lower()
:返回小写版 -
replace(a, b)
:在字符串中用串 b 替换子串 a -
split(',')
:用'逗号'分隔字符串,存放于序列中 -
strip()
:去除两侧的空格 - ......
四、字典
创建和使用
dict = {'Mon' : 1, 'Tue': 2, 'Web': 3}
dict['Tue']
方法
-
clear()
:清空原始字典的项 -
copy()
:返回副本(浅复制) -
{}.fromkeys(['name', 'age'], 0)
:使用键建立字典,值全为 0(第二参数不填则默认为 None) -
get('age')
:取键值,不存在则返回 None -
has_key('sex')
:检测是否存在键 -
items()
:将字典以列表方式,每项转换为(键,值)形式 -
keys()
:将键转换为列表 -
pop('name')
:返回指定值,删除指定键与值 -
popitem()
:随机弹出值,并删除键 -
setdefault('name', 100)
:获取值,若键不存在则设定键,值为 100(无第二参数则默认值为 None) -
update(dict2)
:利用一个字典更新原字典 -
values()
:将值转换为列表
五、常用函数
min()
max()
len()
-
list('hi')
:返回序列 ['h', 'i'] -
cmp(a, b)
:比较两个数,返回 1,0,-1 -
del a
删除变量 a的值(移除引用) -
exec 'print("Hello world!")'
:执行语句 -
eval()
:求值,同input()
-
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')
其他比较运算符
-
x is y
:是否为同一对象(同一引用) x is not y
-
x in y
:成员资格运算符 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.')
六、抽象
函数
- 支持默认值
-
*param
:单星号,不定量参数 -
**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)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python基础系列-列表解析(list comprehension)
版权声明:如需转载,请注明转载地址。 https://blog.csdn.net/oJohnny123/article/details/81910866 列表解析(list comprehension) A2 = [i for i in A1 if i in A0] 其实等同于 A2 = [] for i in A1: if i in A0: A2.append(i) 所以就可以玩出很多花来了,包含列表的交集、差集等等。 代码: #!/usr/bin/python # -*- coding: UTF-8 -*- """ Created by liaoyangyang1 on 2018/2/28 下午9:26. """ A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [i for i in A1 if i in A0] A3 = [A0[s] for s in A0] A4 = [i for i in A1 if i in A3] A5 = {i:i*i for i in A1} A6 = [[...
- 下一篇
8月21日云栖精选夜读 | 商家又一必争之地!支付宝小程序一周年,带来哪些机遇?
如果说2017年是小程序元年,那么2018年很可能将成为小程序的爆发年。 微信小程序、支付宝小程序、百度智能小程序,BAT三大巨头全面进入小程序赛道,华为、vivo、小米等九大国产手机厂商还在今年春天推出了“快应用”。 热点热议 商家又一必争之地!支付宝小程序一周年,带来哪些机遇? 作者:技术小能手刚刚,阿里开源了一项重磅炸弹,终结程序员“中年危机”! 作者:技术小能手给电视装上AI心和艺术之衣 解读TCL的逆市求变之法 作者:技术小能手 知识整理 通过Java代码实现图片的放大和缩小 作者:jerrywangsap如何用JavaScript实现2+2=5? 作者:jerrywangsapMySQL8.0: 重新设计的日志子系统 作者:zhaiwx_yinfeng在 Linux 上安装 NodeJS 作者:我是马爸爸叮!您收到一份超值Java基础入门资料! 作者:聒小小噪 美文回顾 复杂 SQL 查询跑不动?DRDS 只读实例来解决! 作者:云攻略小攻BAT小程序暗战,这或许是程序员离钱最近的机会! 作者:技术小能手工程师、程序员、码农有什么区别? 作者:技术小能手一个程序员的技术能力...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果