简介
安装
选择 Python3 , 命令行直接输入 python3 查看是否安装成功(mac或linux)
IDE
推荐使用 pycharm
File -> New Project,可以创建 Pure Python、Django、Flask等
同时可以选择运行环境,如:Virtualenv、Pipenv、Conda
以上环境都可以使用,看个人习惯以及实际场景
非pycharm命令行工具,可使用source venv/bin/activate
进入虚拟环境,使用deactivate
退出虚拟环境
Hello World
name = input('请向世界问好:')
print(name)
# print调试的时候,如果不想换行可以把end改成空格等
print(testMap, end=' ')
规范
Python程序是大小写敏感的,如果写错了大小写,程序会报错
以#开头的语句是注释。注意:// 不是注释,是地板除法(整除)
Python使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用4个空格的缩进
其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块
变量名必须是大小写英文、数字和_的组合,且不能用数字开头
常量,通常为全大写(Python中没有常量,通常用全大写表示常量)
Python的整数和浮点数没有大小限制,但是超出一定限制后会变成 inf
_
单个下划线定义变量,通常表示需要丢弃或不需要使用的变量
__xxx__
魔术变量、魔术函数、魔术方法,可以被直接引用,自己的变量一般不要用这种命名方式
_xxx
这样的变量或函数在后面示例无法被引用,from app.Com.Functions import *
(但是你直接from app.Com.Functions import _xxx
就能使用)
__xxx
这样的属性和方法是类私有的,不能被外部调用(包括子类,但是子类可以重写)
常用头部信息
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
数据类型
# 整数 1 0 -1 10000000000 10_000_000_000 0xa1b2c3d4 0xa1b2_c3d4
# 浮点数 1.23 3.14 -6.66 1.23e8 12.3e7
# 字符串
# '单引号'
# "双引号"
# r'这里的\不转义'
'''line1
...line2
...line3
...多行内容'''
# 布尔值 True False 3 > 2 可以使用 and not or
# 空值 None
# 列表
# 字典
# 自定义数据类型等
类型转换
a = '123'
a = int(a)
a = float(a)
a = str(a)
a = bool(a)
字符编码
Unicode是Python中字符串类型的一等类,它可以更好地兼容处理ASCII和非ASCII文本
s = 'español'
print(s) # español
s_utf8 = s.encode('utf-8')
print(s_utf8) # b'espa\xc3\xb1ol'
print(s_utf8.decode('utf-8')) # español
其他编码,如:'ABC'.encode('ascii')
如果一些诡异数据,使用utf-8编码还是出现乱码的话,可以使用gb18030编码
ord(字符转数字),Unicode编码对应的10进制数字
chr(数字转字符),将10进制数字转成字符
二进制
- 在计算机中,所有数据都以二进制形式存储和处理,因为计算机中的电子元件可以很容易地表示两种状态(通常是电压高和电压低)
字节
- 字节是计算机存储信息的基本单位。它由8位二进制组成,可以表示256种不同的值,字节通常用于存储字符、数字和其他数据,它是计算机内存和存储设备的基本构建块
ASCII
- ASCII(American Standard Code for Information Interchange)是一种早期的字符编码标准,最初用于表示英文字符和一些常见符号
- ASCII编码使用7位二进制(后来扩展为8位),可以表示128个不同的字符,ASCII编码不支持非英语字符和特殊符号,因此在全球范围内的字符表示方面有限制
Unicode
- Unicode是一种字符编码标准,旨在支持世界上几乎所有的字符集,包括各种语言的字母、符号和表情,Unicode使用唯一的代码点(code point)来表示每个字符,这些代码点是用十六进制整数表示的,通常为\uxxxx
- Unicode解决了ASCII编码的限制,使得计算机可以更好地处理多种语言和字符
UTF-8
- UTF-8(Unicode Transformation Format-8)是一种变长编码方式,用于将Unicode字符编码成二进制数据
- UTF-8使用不同长度的字节序列来表示不同的字符,这使得它非常高效,因为常用的字符(如英文字符)只需一个字节表示,而较少常见的字符需要多个字节,UTF-8编码允许在同一个文本中混合不同语言的字符
关系
- ASCII编码是Unicode的一个子集,ASCII中的前128个字符与Unicode编码的前128个字符相同。这意味着ASCII编码可以视为Unicode的一部分
- UTF-8编码是Unicode的一种实现方式,它通过使用变长字节序列来支持Unicode字符,因此它能够表示整个Unicode字符集
- 字节是二进制数据的基本单位,用于存储和传输信息,而Unicode、UTF-8和ASCII都是在字节级别上操作字符数据的方式
流程
当你打开包含中文字符的文本文件时,计算机首先读取文件的二进制字节序列,这是文件在存储设备上的原始表示
计算机需要确定文件中所使用的字符编码,以正确解释字节序列。比如:UTF-8
许多文本文件的开头部分包含了字符编码信息,如BOM(字节顺序标记)或文件头的元信息,这些信息可以帮助计算机确定正确的编码方式。如果没有明确的编码信息,计算机可能会根据一些启发式算法来猜测编码
一旦计算机确定了字符编码,它将二进制字节序列解码为Unicode编码,这是一个标准的字符编码,用于表示世界上各种字符集
每个字符都被映射到一个唯一的Unicode代码点,这允许计算机正确理解文本中的字符
计算机上的应用程序(如文本编辑器、浏览器等)将Unicode编码的文本显示在屏幕上,允许用户查看和编辑文本
当你看到文本时,它实际上是Unicode编码字符的可视表示
字符串前面加r、b、u、f
- u'string':表示以Unicode格式进行编码,一般用在中文字符前面,防止因为源码储存问题,导致再次使用时出现乱码
- b'string':表示该字符串是bytes类型
- r'string':表示去掉字符串中反斜杠的转义机制
- f'string':表示字符串中可以使用{}括起来的变量
a = u'中文'
print(a) # 中文
print(type(a)) # <class 'str'>
b = b'aaa'
print(b) # b'aaa'
print(type(b)) # <class 'bytes'>
c = 'aaa'
print(c) # aaa
print(type(c)) # <class 'str'>
d = r'\n\t'
print(d) # \n\t
print(type(d)) # <class 'str'>
s = f'回车+制表:{d}'
print(s) # 回车+制表:\n\t
print(type(s)) # <class 'str'>
安装扩展包
pip3 install 模块名
如:pip3 install pyecharts
中国镜像
vim ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn
jupyter
安装
pip3 install jupyter
启动
jupyter-notebook
帮助
jupyter-notebook -h