python解释器提供了70多个内置函数。
```python
>>> import builtins
>>> print(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', 'ZeroDivisionError', '__IPYTHON__', '__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', 'display', 'divmod', 'enumerate', 'eval', 'exec', 'filter', 'float', 'format', 'frozenset', 'get_ipython', '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', 'range', 'repr', 'reversed', 'round', 'set', 'setattr', 'slice', 'sorted', 'staticmethod', 'str', 'sum', 'super', 'tuple', 'type', 'vars', 'zip']
```
全小写的就是全局内建函数。
## 基本数据类型函数
### `int`
- int([x]) -> integer
- int(x, base=10) -> integer
讲一个数字或者数字字符串转换成十进制整数,如果x不是一个十进制数字,那么它必须是和进制base匹配的整数字符串表达式
```python
>>> int(1.1)
1
>>> int('1')
1
>>> int('0b0101',2) # 二进制
5
>>> int('0x11',16) # 十六进制
17
>>> int('0o11',8) # 八进制
9
```
### `float`
将一个字符串或数字转换为浮点数。
```python
>>> float(123)
123.0
>>> float('1.2')
1.2
```
### `complex`
- complex(real=0, imag=0) 创建一个复数通过实部和虚部
```python
>>> complex(10,8)
(10+8j)
```
### `str`
- str(object='') 通过给定的对象创建一个新的字符串对象。
```python
>>> str(1)
'1'
>>> str([1,2,3])
'[1, 2, 3]'
>>> str({'name':'xinlan'})
"{'name': 'xinlan'}"
```
### `list`
- list(iterable=())
根据传入的可迭代对象创建一个列表,如果没有参数返回空列表
```python
>>> list()
[]
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list('abcde')
['a', 'b', 'c', 'd', 'e']
```
### `tuple`
- tuple(iterable=())
根据传入的可迭代对象创建一个元组,如果没有参数返回空元组
```python
>>> tuple()
()
>>> tuple('abcd')
('a', 'b', 'c', 'd')
```
### `set`
- set(iterable)
根据传入的可迭代对象创建一个集合对象。
```python
>>> set('abc')
{'a', 'b', 'c'}
>>> set(range(10))
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
```
### `dict`
根据传入的参数创建一个字典对象
```python
# 形如(key, value)的键值对数据
>>> dict([('name','xinlan'),('age',18)])
{'name': 'xinlan', 'age': 18}
# 关键字参数
>>> dict(name='xinlan',age=18)
{'name': 'xinlan', 'age': 18}
```
## 常用内建函数
### `print`
- print(value,..,sep=' ', end='\n')
- value 会打印value的字符串形式
- sep 分隔符,当有多个value时默认用空格作为分割
- end 每次打印在最后默认添加回车换行符
打印传入对象的字符串形式
```python
>>> print(1,2,3,sep=',') # 修改分隔符为,
1,2,3
>>> print(1,end='');print(2) # 修改打印后添加为字符串空
12
```
### `input`
接收用户的输入数据,以字符串的形式返回。
可以接收字符串参数最为提示信息输出
```python
>>> input('>>>:')
>>>:aaa
'aaa'
```
### `type`
- type(object)
返回object的类型
```python
>>> type(1)
int
```
### `dir`
- dir([object])
返回传入对象的所有属性和方法名的列表
```python
>>> print(dir(1))
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'as_integer_ratio', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
```
### `help`
- help(builtins.object)
返回内建对象的帮助信息
```python
>>> help(help)
```
### `len`
- len(obj)
返回容器的元素个数
```python
>>> len([1,2,3])
```
### `hash`
- hash(obj)
返回对象的hash值
```python
>>> hash('a')
3636161774609400683
```
### `iter`
- iter(iterable)
根据传入的可迭代对象返回一个迭代器
```python
>>> iter('abcd')
<str_iterator at 0x7f98b7dd2eb0>
```
### `id`
- id(obj)
返回传入对象的身份id(虚拟内存地址的整数形式)
```pyhon
>>> id(1)
4344134656
```
### `range`
- range(stop) -> range object
- range(start, stop[,step])
返回一个range object对象,产生整数序列
```python
>>> range(10)
range(0, 10)
>>> range(0,10,2)
range(0, 10, 2)
```
更多方法详见[官方文档](https://docs.python.org/3/library/functions.html)
- 第1章 编程基础
- 零基础能学Python吗?
- 编程语言是什么
- 编译型与解释型编程语言的区别
- python是什么?
- 学python能干什么?
- 第2章 python开发环境搭建
- windows下安装python
- cmd命令行工具
- 环境变量如何设置?
- 如何运行python程序?
- 学习神器Jupyter lab
- 第3章 基本数据类型
- 基本数据类型概述
- 变量的定义和使用
- 整数类型
- 浮点数类型
- 算术运算符
- 赋值运算符
- 字符串类型
- 字符串常用方法
- 字符串格式化
- 列表类型
- 元组类型
- 可变与不可变类型
- 深浅拷贝
- 集合类型
- 字典类型
- 布尔型
- NoneType
- 第4章 程序流程控制
- 程序结构
- if分支语句
- while条件循环
- for循环
- 循环控制关键字
- 异常处理
- 第5章函数与代码复用
- 函数的定义和调用
- 函数的参数
- 函数的返回值
- lambda函数
- 变量作用域
- python内建函数
- 第6章 面向对象
- 类和对象
- 属性
- 方法
- 继承
- super()函数
- 多态
- 私有化
- 自省与反射机制
- 第7章 模块和包
- 模块
- 包
- 第三方库
- 第8章 文件IO操作
- 文件概述
- 字符编码
- 字节类型
- python读取文件
- python写文件
- 文件指针