ASCII编码和UNICODE编码
python2中默认使用ASCII编码
python3中默认使用UTF-8编码
在计算机中,只有256个ASCII字符,一个ASCII在内存中占用1个字节的空间。
8个0/1的排列组合方式一共有256中,也就是2**8
可以在ASCII表中查到定义的字母、数字、转义字符等。
UTF-8是UNICODE编码的一种编码格式
计算机中使用1-6个字节来表示一个UTF-8字符,涵盖了地球上几乎所有地区的文字,大多数汉字会使用3个字节来表示。
# *-*coding:utf-8*-*
# coding=utf8
正常时候,是能以一个中文一个字符串来遍历的。
hello_str = "hello世界"
for c in hello_str:
print(c)
如果不能正常遍历,需要在字符串前面加上u
,可以告诉解释器,这是一个utf8编码格式的字符串
hello_str = u"hello世界"
for c in hello_str:
print(c)
eval函数
eval()
函数非常强大,能将字符串当成有效地表达式来求值或者返回计算结果。
>>>eval("1+1")
>>>2
>>>eval("'*'*5")
>>>'******'
>>>type(eval("[1, 2, 3, 4]"))
>>>list
input_str = input("请输入一个算术题:")
print(eval(input_str))
但是这种方法非常危险,如果用户输入的内容是__import__('os').system('ls')
,相当于对系统直接操作。等价代码是:
import os
os.system("终端命令")
pip
pip是一个现代的,通用的python包管理工具,提供了对python包的查找、下载、安装和卸载等功能。
$ sudo pip3 install pygame
在Linux下安装ipython:
$ sudo apt install ipython