Python 提供的全部内置函数

>>> dir(__builtins__)
['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BlockingIOError', 'BrokenPipeError', 'BufferError', 'BytesWarning', 'ChildProcessError', 'ConnectionAbortedError', 'ConnectionError', 'ConnectionRefusedError', 'ConnectionResetError', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'EnvironmentError', 'Exception', 'False', 'FileExistsError', 'FileNotFoundError', 'FloatingPointError', 'FutureWarning', 'GeneratorExit', 'IOError', 'ImportError', 'ImportWarning', 'IndentationError', 'IndexError', 'InterruptedError', 'IsADirectoryError', 'KeyError', 'KeyboardInterrupt', 'LookupError', 'MemoryError', 'ModuleNotFoundError', 'NameError', 'None', 'NotADirectoryError', 'NotImplemented', 'NotImplementedError', 'OSError', 'OverflowError', 'PendingDeprecationWarning', 'PermissionError', 'ProcessLookupError', 'RecursionError', 'ReferenceError', 'ResourceWarning', 'RuntimeError', 'RuntimeWarning', 'StopAsyncIteration', 'StopIteration', 'SyntaxError', 'SyntaxWarning', 'SystemError', 'SystemExit', 'TabError', 'TimeoutError', 'True', 'TypeError', 'UnboundLocalError', 'UnicodeDecodeError', 'UnicodeEncodeError', 'UnicodeError', 'UnicodeTranslateError', 'UnicodeWarning', 'UserWarning', 'ValueError', 'Warning', 'WindowsError', 'ZeroDivisionError', '__build_class__', '__debug__', '__doc__', '__import__', '__loader__', '__name__', '__package__', '__spec__', 'abs', 'all', 'any', 'ascii', 'bin', 'bool', 'breakpoint', 'bytearray', 'bytes', 'callable', 'chr', 'classmethod', 'compile', 'complex', 'copyright', 'credits', 'delattr', 'dict', 'dir', 'divmod', 'enumerate', 'eval', 'exec', 'exit', 'filter', 'float', 'format', 'frozenset', 'getattr', 'globals', 'hasattr', 'hash', 'help', 'hex', 'id', 'input', 'int', 'isinstance', 'issubclass', 'iter', 'len', 'license', 'list', 'locals', 'map', 'max', 'memoryview', 'min', 'next', 'object', 'oct', 'open', 'ord', 'pow', 'print', 'property', 'quit', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']

字符


原始字符串:

>>> 未使用原始字符串
>>> print("D:\three\two\one\now")
D:        hree        wo\one
ow
>>> # 使用原始字符串
>>> print(r"D:\three\two\one\now")
D:\three\two\one\now

三引号:引用多行文本

>>> poetry = """
面朝大海,春暖花开
从明天起,做一个幸福的人
喂马、劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
"""

数字 + 运算

随机数函数

精确计算小数(浮点数)

复数

>>> x = 1 + 2j
>>> x.real
1.0
>>> x.imag
2.0

数字运算


x // y(地板除):取比目标结果小的最大整数。

abs(x)(取绝对值):如果传入一个复数,abs() 函数返回复数的模。

int float complex 均为转换数值格式的函数。

pow() 和 ** 的区别:pow()函数支持第 3 个参数。如果传入第 3 个参数,则将幂运算的结果和第 3 个参数进行取余数运算。

布尔类型

使用 bool() 函数可以直接给出 True 或者 False 的结果。

结果是 True 的情况非常多,但 False 却是屈指可数,下面这些几乎就是结果为 False 的所有情况:

  • 定义为 False 的对象:None 和 False
  • 值为 0 的数字类型:0, 0.0, 0j, Decimal(0), Fraction(0, 1)
  • 空的序列和集合:‘’, (), [], {}, set(), range(0)

and or not

字符串

Python将列表、元组和字符串统称为序列。

切片

a = "1234567"
a[:1:-1]'76543'

(前半部分下标定位,结尾“:-1”反转)

FUNCTION

字母大小写

>>> x = "i love FishC"
>>> x.capitalize()
'I love fishc'
>>> x.casefold()
'i love fishc'
>>> x.title()
'I Love Fishc'
>>> x.swapcase()
'I LOVE fISHc'
>>> x.upper()
'I LOVE FISHC'
>>> x.lower()
'i love fishc'

格式左中右

>>> x = "有内鬼,停止交易!"
>>> x.center(15)
'   有内鬼,停止交易!   '
>>> x.ljust(15)
'有内鬼,停止交易!      '
>>> x.rjust(15)
'      有内鬼,停止交易!'
>>> x.zfill(15)
'000000有内鬼,停止交易!'
>>> "520".zfill(5)
'00520'
>>> "-520".zfill(5)
'-0520'
>>> x.center(15, "淦")
'淦淦淦有内鬼,停止交易!淦淦淦'
>>> x.ljust(15, "淦")
'有内鬼,停止交易!淦淦淦淦淦淦'
>>> x.rjust(15, "淦")
'淦淦淦淦淦淦有内鬼,停止交易!'

查找

>>> x = "上海自来水来自海上"
>>> x.count("海")
2
>>> x.count("海", 0, 5)
1
>>> x.find("海")
1
>>> x.rfind("海")
7
>>> x.find("龟")
-1

替换(可用于删除?)

replace(old, new, count=-1) 返回一个将所有 old 参数指定子字符串替换为 new 的新字符串。另有一个 count 参数是指定替换的次数,默认值 -1 表示替换全部。

>>> "在吗!我在你家楼下,快点下来!!".replace("在吗", "想你")
'想你!我在你家楼下,快点下来!!'

translate(table)根据 str.maketrans(x[, y[, z]]) 设定的转换规则返回一个新字符串。

>>> table = str.maketrans("ABCDEFG", "1234567")
>>> "I love FishC.com".translate(table)
'I love 6ish3.com'

str.maketrans() 方法还支持第三个参数,表示将指定字符串忽略:

>>> "I love FishC.com".translate(str.maketrans("ABCDEFG", "1234567", "love"))
'I  6ish3.cm'

判断

Function 用途
startswith(a, start, end) 判断a是否出现在字符串的[start, end]子字符串的起始位置
endswith(a, start, end) 判断a是否出现在字符串的[start, end]子字符串的结束位置
istitle() 判断字符串中所有单词是否都以大写字母开头,其余字母均为小写
isupper() 判断字符串中所有字母是否都是大写
islower() 判断字符串中所有字母是否都是小写
isalpha() 判断字符串是否只由字母组成
isascii() 判断字符串是否只由 ASCII 字符组成
isspace() 判断是否为空白字符串
isprintable() 判断字符串中是否所有字符都可打印
isdecimal() 和 isdecimal() 判断是否十进制数字
isnumeric() 可判断内容包括十进制数字、罗马数字、中文数字等
isalnum() isalpha()、isdecimal()、isdigit() 或 isnumeric() 任一返回 True便为 True
isidentifier() 判断字符串是否一个合法的 Python 标识符(做变量名所必须)

startswith() 和 endswith() 的其他用法:

>>> x = "她爱Pyhon"
>>> if x.startswith(("你", "我", "她")):
...     print("总有人喜爱Pyhon")
...
总有人喜爱Pyhon

isidentifier():

>>> "I a good gay".isidentifier()
False
>>> "I_a_good_gay".isidentifier()
True
>>> "FishC520".isidentifier()
True
>>> "520FishC".isidentifier()
False

如果想判断一个字符串是否为 Python 的保留标识符(如 “if”、“for”、“while” ),可以使用 keyword 模块的 iskeyword() 函数来实现:

>>> import keyword
>>> keyword.iskeyword("if")
True
>>> keyword.iskeyword("py")
False

截取/删除

去除空白(括号内为None):

>>> "    左侧不要留白".lstrip()
'左侧不要留白'
>>> "右侧不要留白    ".rstrip()
'右侧不要留白'
>>> "    左右不要留白    ".strip()
'左右不要留白'

删除指定字符串:

>>> "www.ilovefishc.com".lstrip("wcom.")
'ilovefishc.com'
>>> "www.ilovefishc.com".rstrip("wcom.")
'www.ilovefish'
>>> "www.ilovefishc.com".strip("wcom.")
'ilovefish'

删除指定的一个字符串(只能在首或尾)

>>> "www.ilovefishc.com".removeprefix("www.")
'ilovefishc.com'
>>> "www.ilovefishc.com".removesuffix(".com")
'www.ilovefishc'

拆分

partition() 只能拆分成两段:

a = 'aaa.bbb.ccc.ddd'
a.partition('.')
('aaa', '.', 'bbb.ccc.ddd')
a.rpartition('.')
('aaa.bbb.ccc', '.', 'ddd')

split() 拆分成多段:

>>> "苟日新,日日新,又日新".split(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".rsplit(",")
['苟日新', '日日新', '又日新']
>>> "苟日新,日日新,又日新".split(",", 1)
['苟日新', '日日新,又日新']
>>> "苟日新,日日新,又日新".rsplit(",", 1)
['苟日新,日日新', '又日新']

splitlines() 按行拆分:

>>> "苟日新\n日日新\n又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r又日新".splitlines()
['苟日新', '日日新', '又日新']
>>> "苟日新\r日日新\r\n又日新".splitlines(True)
['苟日新\r', '日日新\r\n', '又日新']

拼接

可使用 “+” 但面对大批量数据时 join() 的拼接速度更快。

>>> ".".join(["www", "ilovefishc", "com"])
'www.ilovefishc.com'

字符串拼接速度大比拼

字符串格式化

方法 示例
直接用{ } "1+2={}, 2的平方是{},3的立方是{}".format(1+2, 2*2, 3*3*3)
位置索引 "{0}{0}{1}{1}".format("是", "非")
关键字索引 "我叫{name},我爱{fav}。".format(name="小甲鱼", fav="Pyhon")
同时使用位置和关键字索引 "我叫{name},我爱{0}。喜爱{0}的人,运气都不会太差^o^".format("python", name="小甲鱼")

字符串格式化语法

format_spec     ::=  [fill][align][sign][0][width][grouping_option][.precision][type][#]
fill            ::=  <any character>
align           ::=  "<" | ">" | "=" | "^"
sign            ::=  "+" | "-" | " "
width           ::=  digit+
grouping_option ::=  "_" | ","
precision       ::=  digit+
type            ::=  "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%"

对齐选项([align])


示例:

>>> "{:^}".format(250)
'250'
>>> "{:^10}".format(250)
'   250    '
>>> '{2:>10}{1:^}{0:<10}'.format(2,3,4) #下标定位
'         432         '
>>> '{2:>10}{1}{0:<10}'.format(2,3,4)
'         432         '
>>> "{left:>10}{right:<10}".format(right=520, left=250) #关键字定位
'       250520       '

填充选项([fill])

在指定宽度前添加一个 ‘0’,则表示为数字类型启用感知正负号的 ‘0’ 填充效果(只对数字有效):

>>> "{:010}".format(520)
'0000000520'
>>> "{:030}".format(520)
'000000000000000000000000000520'
>>> "{:110}".format(520) #话说这是加了个什么
'                                                                                                           520'
>>> "{:010}".format(-520)
'-000000520'

还可以在[align]前面通过[fill]指定填充的字符:

>>> "{1:%>10}{0:%<10}".format(520, 250)
'%%%%%%%250520%%%%%%%'
>>> "{:0=10}".format(520)
'0000000520'
>>> "{:0=10}".format(-520)
'-000000520'

符号([sign])选项

仅对数字类型有效,可使用下面3个值:

'{:+}'.format(5)
'+5'
'{:-}'.format(5, -2)
'5'
'{:+} {:-}'.format(5, -2)
'+5 -2'

千分位分隔符

'{:,}'.format(134567)
'134,567'

精度([.precision])选项

对于以 ‘f’ 或 ‘F’ 格式化的浮点数值来说,是限定小数点显示多少个数位;
对于以 ‘g’ 或 ‘G’ 格式化的浮点数值来说,是限定小数点前后共显示多少个数位;
对于非数字类型来说,限定最大字段的大小,即要使用多少个来自字段内容的字符;
对于整数来说,不允许使用该选项值。

'{:2f}'.format(3.1415926)
'3.141593'
'{:.2f}'.format(3.1415926)
'3.14'
'{:2g}'.format(3.1415926)
'3.14159'
'{:.2g}'.format(3.1415926)
'3.1'
'{:2}'.format('afghjk')
'afghjk'
'{:.2}'.format('afghjk')
'af'

类型([type])选项

决定数据的呈现方式。

整数

浮点数、复数和整数(自动转换为等值的浮点数)

示例:

print "My name is %s and weight is %d kg!" % ('Zara', 21)
My name is Zara and weight is 21 kg!

扩展延伸

python入门笔记(1)相关推荐

  1. python入门笔记——内置函数作业

    python入门笔记--内置函数作业 # 求三组连续自然数的和:求出1到10,20到30,35到45的三个和 sum1 = sum(range(1,11)) sum2 = sum(range(20,3 ...

  2. python入门笔记之初步了解代码

    # # python入门笔记之初步了解代码 #### 昨日回顾 ##### 操作系统 对计算机:秘书,管家 对人类:提供一个人性化操作台 ##### 三层架构 ```mermaid graph TD ...

  3. python入门笔记——飞机大战(极简版、未进行继承优化)

    python入门笔记--飞机大战(极简版.未进行继承优化) import random import pygame# 引用pygame里的模块 from pygame.locals import *# ...

  4. python入门笔记——类和对象⑤(继承)

    python入门笔记--类和对象⑤(继承) # python中展现面向对象的三大特征:封装.继承.多态 # 封装:把内容封装到某个地方以便后续的使用 # 对封装来说,其实就是使用初始化构造方法将内容封 ...

  5. Python 入门笔记6——列表

    Python 入门笔记6--列表 序列 列表 列表的创建 list()创建 range()创建整数列表 推导式生成列表 列表元素的增加 append()方法 +运算符操作 +=运算符操作 extend ...

  6. Python入门笔记,看完直接玩几个小案例是没有问题滴~

    这篇是纯干货分享,对python感兴趣的可以认真看起来! 小白想要入门Python爬虫,首先得了解爬虫的基本工作原理和相关的理论基础,爬虫简介部分就不细说了,都可以百度得到. 爬虫工作原理总结来讲就是 ...

  7. python新手入门笔记_2020最新Python入门笔记

    Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 这里要注意注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远 ...

  8. 2020最新Python入门笔记,建议收藏

    Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 # 这一行全部都是注释... print 'hello' # 这也是注释 这里要 ...

  9. Python入门笔记3

    1.可变字符串 修改字符串中的值,智能创建新的字符串 io.StringIO或array >>> s="hello.sxt" >>> impor ...

  10. Python入门笔记(三)

    文章目录 第十二章 异常处理 12.1 常见异常 12.2 处理异常:try-- except 12.3 创建异常类型:raise语句 12.4 断言:assert 12.5 存储数据:json.du ...

最新文章

  1. 如何给变量取个简短且无歧义的名字
  2. swift_008(Swift的类型转换)
  3. python数据包分析_packet_analysis: 数据包分析工具
  4. C#中的类02:构造对象
  5. 初学HTML5系列二:HTML5新增的事件属性
  6. ICML2021 | Self-Tuning: 如何减少对标记数据的需求?
  7. linux-文件管理-不完整版
  8. 原 用Tomcat服务器配置https双向认证过程实战
  9. python将小数转为分数_Python分数
  10. P1373 小a和uim之大逃离
  11. comps电磁场模拟软件_opera电磁仿真软件
  12. iOS 9 适配中出现 问题
  13. 2015061906 - firebug安装和下载(2)
  14. 分享typecho博客的Next主题包
  15. AETA地震预测 AI 算法大赛——Helloworld队比赛方案(亚军)
  16. Foreda Workstation 36安装搜狗拼音输入法
  17. 结巴分词 java_Java版结巴分词自定义词库
  18. 紧急通知发布解决方案(互亿无线)
  19. 基于铂电阻测温电路的设计
  20. 从Python爬虫到Spark预处理数据的真实需求[二]

热门文章

  1. Boosting(Adboost、GBDT、Xgboost)
  2. Android Studio更新问题
  3. LEDMAN雷曼家庭巨幕成都首店正式开业
  4. 知识产权行业拓客的10个经典方法
  5. 基于正点原子探索者使用STM32CubeMX+FreeRTOS+LWIP
  6. 两种方式登录QQ空间提取SKEYamp;P_skey源码
  7. 阅读WPF揭秘前两章探索Silverlight运行的基本原理和RIA工作流程的密码(二)
  8. 互联网金融相关法律清单
  9. 开源云盘搭建部署 施工中~
  10. 在python中 0oa1是合法_在Python中0oa1是合法的八进制数字表示形式。