简介

文档

参照

安装

下载地址

选择 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=' ')

规范

pep8

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

results matching ""

    No results matching ""