python入门笔记(1)
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)相关推荐
- python入门笔记——内置函数作业
python入门笔记--内置函数作业 # 求三组连续自然数的和:求出1到10,20到30,35到45的三个和 sum1 = sum(range(1,11)) sum2 = sum(range(20,3 ...
- python入门笔记之初步了解代码
# # python入门笔记之初步了解代码 #### 昨日回顾 ##### 操作系统 对计算机:秘书,管家 对人类:提供一个人性化操作台 ##### 三层架构 ```mermaid graph TD ...
- python入门笔记——飞机大战(极简版、未进行继承优化)
python入门笔记--飞机大战(极简版.未进行继承优化) import random import pygame# 引用pygame里的模块 from pygame.locals import *# ...
- python入门笔记——类和对象⑤(继承)
python入门笔记--类和对象⑤(继承) # python中展现面向对象的三大特征:封装.继承.多态 # 封装:把内容封装到某个地方以便后续的使用 # 对封装来说,其实就是使用初始化构造方法将内容封 ...
- Python 入门笔记6——列表
Python 入门笔记6--列表 序列 列表 列表的创建 list()创建 range()创建整数列表 推导式生成列表 列表元素的增加 append()方法 +运算符操作 +=运算符操作 extend ...
- Python入门笔记,看完直接玩几个小案例是没有问题滴~
这篇是纯干货分享,对python感兴趣的可以认真看起来! 小白想要入门Python爬虫,首先得了解爬虫的基本工作原理和相关的理论基础,爬虫简介部分就不细说了,都可以百度得到. 爬虫工作原理总结来讲就是 ...
- python新手入门笔记_2020最新Python入门笔记
Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 这里要注意注意:不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远 ...
- 2020最新Python入门笔记,建议收藏
Python变量和数据类型 数据类型 print语句 注释 Python的注释以 # 开头,后面的文字直到行尾都算注释 # 这一行全部都是注释... print 'hello' # 这也是注释 这里要 ...
- Python入门笔记3
1.可变字符串 修改字符串中的值,智能创建新的字符串 io.StringIO或array >>> s="hello.sxt" >>> impor ...
- Python入门笔记(三)
文章目录 第十二章 异常处理 12.1 常见异常 12.2 处理异常:try-- except 12.3 创建异常类型:raise语句 12.4 断言:assert 12.5 存储数据:json.du ...
最新文章
- 如何给变量取个简短且无歧义的名字
- swift_008(Swift的类型转换)
- python数据包分析_packet_analysis: 数据包分析工具
- C#中的类02:构造对象
- 初学HTML5系列二:HTML5新增的事件属性
- ICML2021 | Self-Tuning: 如何减少对标记数据的需求?
- linux-文件管理-不完整版
- 原 用Tomcat服务器配置https双向认证过程实战
- python将小数转为分数_Python分数
- P1373 小a和uim之大逃离
- comps电磁场模拟软件_opera电磁仿真软件
- iOS 9 适配中出现 问题
- 2015061906 - firebug安装和下载(2)
- 分享typecho博客的Next主题包
- AETA地震预测 AI 算法大赛——Helloworld队比赛方案(亚军)
- Foreda Workstation 36安装搜狗拼音输入法
- 结巴分词 java_Java版结巴分词自定义词库
- 紧急通知发布解决方案(互亿无线)
- 基于铂电阻测温电路的设计
- 从Python爬虫到Spark预处理数据的真实需求[二]
热门文章
- Boosting(Adboost、GBDT、Xgboost)
- Android Studio更新问题
- LEDMAN雷曼家庭巨幕成都首店正式开业
- 知识产权行业拓客的10个经典方法
- 基于正点原子探索者使用STM32CubeMX+FreeRTOS+LWIP
- 两种方式登录QQ空间提取SKEYamp;P_skey源码
- 阅读WPF揭秘前两章探索Silverlight运行的基本原理和RIA工作流程的密码(二)
- 互联网金融相关法律清单
- 开源云盘搭建部署 施工中~
- 在python中 0oa1是合法_在Python中0oa1是合法的八进制数字表示形式。