在写python程序时,常能用到一些函数和方法,最后提醒一下大家,保存起来,方便查询.
第一段:内置函数
# abs()获取数字绝对值
# chr(i)数字转换为字符类型
# enumerate() 将可遍历序列组合为索引序列
# float()转换为浮点数
# format() 格式化字符串
# int()转换为整数?
# input() 接受用户输入内容
# len() 计算元素个数
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定数值的上舍整数
# open()打开文件并返回文件对象
# pow() 幂运算
# print()打印输出?
# range() 生成器
# reversed()反转所有元素
# round()四舍五入求值
# sorted()对可迭代对象进行排序?
# str() 转换为字符串
# sum() 求和
# set() 创建集合
# tuple() 将序列转换为元组
# zip()将可迭代对象打包成元组
第二段:方法
# append() 添加列表元素
# capitalize()首字母转换为大写?
# count()字符出现次数
# close() 关闭文件
# decode() 解码字符串
# dict.keys() 获取字典所有的键
# find()字符串首次出现的索引
# f.read() 读取文件内容
# dict.update()更新字典
# dict.items() 获取字典键/值对
# dict.get() 返回指定键的值
# encode() 编码字符串
# list.sort() 排序列表元素
# index() 元素首次出现的索引
# isdigit() 判断字符串是否只由数字组成
# isupper() 是否所有字母都为大写
# isnum() 判断字符串是否由字母和数字组成
# islower() 是否所有字母都为小写
# isdecimal() 检查字符串是否只包含十进制字符
# isalpha() 检测字符串是否为纯字母
# random.shuffle()随机排序
# random.sample()返回无重复随机数列表
# random.choice() 返回一个随机元素
# random.randint() 生成指定范围的随机整数
# random.randrange() 生成指定范围的指定递增基数随机整数
# pop() 删除列表中的元素
# remove()删除列表中的指定元素
# strip()去除空格
# lstrip()去除左侧空格
# rstrip() 去除右侧空格
# readline() 读取单行内容
# root.after() Tkinter中等待一段时间后再执行命令
# str.isnumeric() 验证字符串是否为数字(适用于Unicode)
# split()分割字符串
# ord() 将字符转换为整数
# replace() 字符串替换
# ljust() 左对齐填充
# rjust() 左对齐填充
# readlines() 读取所有行内容
# datetime.datetime.now() 返回指定时区的本地日期时间
# datetime.datetime.today() 获取当前本地日期的date对象
# datetime.utcnow() 返回当前UTC时间的datetime对象
# time.strptime()把时间字符串解析为元组
# time.time()返回当前时间的时间戳
# time.sleep()暂停指定秒数
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收时间元组并返回时间戳
# os.getcwd() 获取当前工作目录
# os.listdir() 获取指定路径下的目录和文件列表
# os.makedirs() 递归创建目录
# os.rename() 重命名目录或文件
# os.path.exists() 判断路径是否存在
# upper() 全部转换为大写字母
# lower()? 全部转换为小写字母
# sys.stdout.write() 标准输出打印
# sys.stdout.flush()刷新输出?
# shutil.copy() 复制单个文件到另一文件或目录
# write() 写入文件内容
# winsound.Beep() 打开电脑扬声器
# zfill() 在字符串前面填充0
第三段:循环语句
# break终止当前循环
# continue 终止本循环进入下一次循环
# with open() as file 以with语句打开文件(数据保存)
第四段:转义字符
\ 行尾续行符
\' 单引号?
\'' 双引号
\a 响铃
\e 转义
\n 换行
\t 横向制表符
\f 换页
\xyy 十六进制yy代表的字符
\\反斜杠符号
\b 退格
\000 空
\v 纵向制表符
\r 回车
\0yy 八进制yy代表的字符
\other 其他的字符以普通格式输出
一 前言 ?
?最近一直在做开发相关的工作--基于Django的web 平台,其中需要从model层传输数据到view 层做数据展示或者做业务逻辑处理.我们采用通用的Json格式--Json(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和程序解析.
二 认识Json
?常见的Json格式为 "名称/值"对的集合,其中 值可以是对象,列表,字典,字符串等等.比如
backup_data?=?{"back_to_host":?"dbbk0",
Python的Json模块序列化与反序列化的过程分别是 编码和解码.这两个过程涉及到两组不同的函数
编码 把一个Python对象编码转换成Json字符串,json.dumps(data)/json.dump(data,file_handler)
解码 把Json格式字符串解码转换成Python对象,json.loads(data)/json.load(file_handler)
在python中要使用Json模块做相关操作,必须先导入:
import Json
编码函数主要有 json.dumps(data)/json.dump(data,file_handler)
?json.dump 是将内置类型序列化为json对象后写入文件.
解码函数主要由json.loads(data)/json.load(file_handler) ?
? json.load()的参数针对文件句柄,比如本地有一个文件/tmp/test.json ?json_load=json.load(open('/tmp/test.json'))
具体案例参考如下:
---------------------------------------------------------------------------
AttributeError Traceback?(most recent?call?last)
----?1 json_loads=json.load(json_str)
注意 从上面的报错信息来看 json.loads 传参是字符串类型,并不是文件句柄,没有 read()属性.
In?[10]:?json_loads=json.loads(json_str)
In?[11]:?print json_loads
利用dump 将数据写入 dump.json
...:?json.dump(json_str,f)
...:
yangyiDBA:~?yangyi$ cat /tmp/dump.json
yangyiDBA:~?yangyi$
利用json.load 将dump.sjon的数据读出来并赋值给 data?
...:?data=json.load(f)
三 小结
本文算是一篇学习笔记,主要对比了json.loads/json.load ?, json.dumps/ json.dump 的使用差异 ,方便以后更好的使用json .
以上为本次分享内容,感谢观看.
第一个00000000表示空字符,所以呢ASCII编码实际上只包括了
①.0101101.
import sys
sys.getdefaultencoding()
①.0101101.也就是说汉字'中'encode成字节形式,是11100100 10111000
①.0101101.同理,我们拿11100100
结果如下.果然是字符'A'
xxxx.encode/decode('unicode-escape')
输出如下
xxx.decode('unicode-escape').encode()
测试如下:
最后的扩展
import codecs
file = codecs.open( "a.txt", "r", "unicode-escape" )
u = file.read()
print(u)
正确示例代码:
错误示例代码:
Python中使用 # 进行注释,我们在使用# 的时候,# 号后面要空一格在行内注释的时候,中间应该至少加两个空格
print("土嘎嘎的粉丝们大家好,世界") # 注释
** 使用的一般性原则:**
使用的一般性原则:
①.、导入总应该放在文件顶部,位于模块注释和文档字符串之后,模块全局变量和常量之前.
命名规范这一块的大家应该都比较熟悉了,但是不同的编程语言之间的明明规范也是有所区别的~
Python命名建议遵循的一般性原则:
引号使用的一般性原则:
Python跟其他几个主流编程语言的分号使用区别很大Python的代码末尾不需要加分号,而Java和C#等都需要添加
不要在行尾添加分号,也不要用分号将两条命令放在同一行,例如:
Python学习日记
度知道 提问
搜一搜
关注
我们可以使用for循环和ord()函数来获取字符串的 ASCII 值.ord()函数返回传递字符串的 Unicode.它接受1作为字符串的长度.for循环用于迭代序列:列表、元组、字典、集合或字符串.所以呢,我们可以使用for循环来解析字符串的每个字符并将其转换为 ASCII 值.
在下面的代码中,text 是一个保存用户输入的变量.ascii_values 最初是一个空列表,稍后将保存字符串中每个字符的 ASCII 值.一旦循环完成其循环,我们将向用户显示 ascii_values 的内容作为输出.append() 函数在每次迭代后向列表 ascii_values 添加一个新项目.
当我们运行这个程序时,用户会收到一个字符串提示,一旦用户提供了一个字符串,它就会被存储在一个变量 text 中.在示例中,输入是字符串 hello.打印字符串中每个字符的 ASCII 值.
示例代码:
text = input("enter a string to convert into ascii values:")
ascii_values = []
for character in text:
ascii_values.append(ord(character))
print(ascii_values)
输出:
enter a string to convert into ASCII values: hello
第二段:在 Python 中使用 List Comprehension 和 ord() 函数获取字符串的 ASCII
我们可以使用列表推导来实现相同的结果.Python 中的列表推导式是一种简单而紧凑的语法,用于从字符串或其他列表创建列表.这是一种通过对现有列表中的每个项目进行操作来创建新列表的简洁方法.列表推导比使用 for 循环处理列表快得多.
在下面的代码中,外部没有 for 或 while 循环.但是在列表推导中,我们使用 for 循环来获取 text 的每个 character.
text = input("enter a string to convert into ascii values: ")
ascii_values = [ord(character) for character in text]
第三段:使用用户定义的函数 to_ascii() 在 Python 中获取字符串的 ASCII
另一种编写代码以实现相同目标的方法是使用用户定义的函数.用户定义函数是用于在策略正文中组织代码的函数.一旦你定义了一个函数,你就可以像内置的动作和解析器函数一样调用它.传递给函数的变量是通过引用而不是通过值传递的.
在下面的代码中,我们使用用户定义的函数 to_ascii 将 text 作为参数.在函数内部,定义了块操作,并通过关键字 return 传递结果.当从提供 text 的主模块调用函数 to_ascii 作为参数控制转移到 to_ascii 函数并执行代码块时,我们会在列表中获得给定字符串的 ASCII 值.
def to_ascii(text):
return ascii_values
text = input("Enter a string: ")
print(to_ascii(text))
Enter a string:
hello
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
在爬虫中会经常遇见,需要用encode和decode来进行互相转码
str转bytes
注意,含有中文字符的str不能用acsii格式转码
bytes转str
** 程序中经常会遇到个别字符转码不成功而报错,所以呢在decode方法中需要这个参数errors='ignore'忽略错误的字节
注意格式化的数据格式