编辑
2024-05-28
算法
0

目录

python 笔记
算法
1.将字母a-z转为ASCII
2.列表输入
3.保留小数点
4.两个参数输入
5.Python列表函数&方法
Python包含以下函数:
Python包含以下方法:
6.列表转字符串
7.字符串转列表
8."".join
9.python中的列表推导式
10.进制转换
11.Python 的字符串内建函数
12.例题1
13.爆破数组
14.内置函数
web

python 笔记

算法

1.将字母a-z转为ASCII

python
for char in range(ord('a'), ord('z')+1): print(f"The ASCII value of {chr(char)} is {char}")

2.列表输入

python
a=[list(map(int,input().split())) for _ in range(3)] print(a)
py
a=list(map(int,input().split())) print(a)

3.保留小数点

py
t=2.123456 print('%.3f'%t) print(round(t,3))

4.两个参数输入

python
m,n=map(int,input().split()) print("m",m) print("n",n)

5.Python列表函数&方法

Python包含以下函数:

序号函数
1len(list) 列表元素个数
2max(list) 返回列表元素最大值
3min(list) 返回列表元素最小值
4list(seq) 将元组转换为列表

Python包含以下方法:

序号方法
1list.append(obj) 在列表末尾添加新的对象
2list.count(obj) 统计某个元素在列表中出现的次数
3list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj) 将对象插入列表
6[list.pop(index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj) 移除列表中某个值的第一个匹配项
8list.reverse() 反向列表中元素
9list.sort( key=None, reverse=False) 对原列表进行排序
10list.clear() 清空列表
11list.copy() 复制列表

6.列表转字符串

py
l=[1,2,3,4,5,6,7,8,9,10] #列表转字符串 # print("".join(str(i) for i in l)) # print("".join(map(str,l)))

7.字符串转列表

py
#字符串转列表 s="123456" # print(list(s)) #将每两个字符串转为列表 print([s[i:i+2] for i in range(0,len(s),2)])
php
numbers = "123456" numbers_list = list(map(int, numbers)) total = sum(numbers_list) print(total) # 输出: 21

8."".join

"".join() 是 Python 中的一个字符串方法,用于将序列中的元素以指定的字符连接生成一个新的字符串。

s="abcdefg" print("0".join(s))

9.python中的列表推导式

print([i for i in range(10)]) print([i for i in range(10) if i%2==0]) print([i**2 for i in range(10)]) print([i+j for i in range(10) for j in range(10)])

10.进制转换

#pyhon中的进制转换 a=10 #十进制转二进制 # print(bin(a)) #十进制转八进制 # print(oct(a)) #十进制转十六进制 # print(hex(a)) #二进制转十进制 # print(int('1010',2)) #八进制转十进制 # print(int('12',8)) #十六进制转十进制 # print(int('a',16)) #十六进制转二进制 # print(bin(int('a',16))) #十六进制转八进制 # print(oct(int('a',16))

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可,在下一章节 Python3 数据类型转换 会具体介绍。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述
[int(x ,base])将x转换为一个整数
float(x)将x转换到一个浮点数
[complex(real ,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

11.Python 的字符串内建函数

Python 的字符串常用内建函数如下:

序号方法及描述
1capitalize() 将字符串的第一个字符转换为大写
2center(width, fillchar) 返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3count(str, beg= 0,end=len(string)) 返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4bytes.decode(encoding="utf-8", errors="strict") Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
5encode(encoding='UTF-8',errors='strict') 以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
6endswith(suffix, beg=0, end=len(string)) 检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
7expandtabs(tabsize=8) 把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8find(str, beg=0, end=len(string)) 检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9index(str, beg=0, end=len(string)) 跟find()方法一样,只不过如果str不在字符串中会报一个异常。
10isalnum() 如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
11isalpha() 如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
12isdigit() 如果字符串只包含数字则返回 True 否则返回 False..
13islower() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14isnumeric() 如果字符串中只包含数字字符,则返回 True,否则返回 False
15isspace() 如果字符串中只包含空白,则返回 True,否则返回 False.
16istitle() 如果字符串是标题化的(见 title())则返回 True,否则返回 False
17isupper() 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
18join(seq) 以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19len(string) 返回字符串长度
20[ljust(width, fillchar]) 返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21lower() 转换字符串中所有大写字符为小写.
22lstrip() 截掉字符串左边的空格或指定字符。
23maketrans() 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24max(str) 返回字符串 str 中最大的字母。
25min(str) 返回字符串 str 中最小的字母。
26[replace(old, new , max]) 把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
27rfind(str, beg=0,end=len(string)) 类似于 find()函数,不过是从右边开始查找.
28rindex( str, beg=0, end=len(string)) 类似于 index(),不过是从右边开始.
29[rjust(width,, fillchar]) 返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
30rstrip() 删除字符串末尾的空格或指定字符。
31split(str="", num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32[splitlines(keepends]) 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33startswith(substr, beg=0,end=len(string)) 检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
34[strip(chars]) 在字符串上执行 lstrip()和 rstrip()
35swapcase() 将字符串中大写转换为小写,小写转换为大写
36title() 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
37translate(table, deletechars="") 根据 table 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38upper() 转换字符串中的小写字母为大写
39zfill (width) 返回长度为 width 的字符串,原字符串右对齐,前面填充0
40isdecimal() 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

12.例题1

对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 1900 年 11 月 11 日至 9999 年 12 月 31 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。 例如,2022 年 111月 13 日满足要求,因为 2+0+2+2=(1+1)+(1+3) 。 请提交满足条件的日期的总数量。要考虑闰年和每个月的天数。
py
def digit_sum(n): return sum(int(digit) for digit in str(n)) def is_leap_year(year): return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0) def count_dates(): count = 0 for year in range(1900, 10000): for month in range(1, 13): if month in [4, 6, 9, 11]: days_in_month = 30 elif month == 2: days_in_month = 29 if is_leap_year(year) else 28 else: days_in_month = 31 for day in range(1, days_in_month + 1): if digit_sum(year) == digit_sum(month) + digit_sum(day): count += 1 return count print(count_dates())

13.爆破数组

1.排列 ,有顺序

import itertools a=[99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77] permutations = list(itertools.permutations(a,2))

2.组合,无顺序

import itertools a=[99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77] permutations = list(itertools.combinations(a,2))
def print_pairs(arr): for i in range(len(arr)): for j in range(i+1, len(arr)): print((arr[i], arr[j])) # 测试 arr = [99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77] print_pairs(arr)

14.内置函数

Python中的所有内置函数如下:

  1. abs(): 返回数字的绝对值。
  2. all(): 如果可迭代对象的所有元素都为真(或可迭代对象为空),则返回 True。
  3. any(): 如果可迭代对象的任一元素为真,则返回 True。 如果可迭代对象为空,返回 False。
  4. ascii(): 返回一个表示对象的字符串(使用 ascii 字符)。
  5. bin(): 将整数转换为二进制字符串。
  6. bool(): 将值转换为布尔值。
  7. bytearray(): 返回一个新的字节数组。
  8. bytes(): 返回一个新的 bytes 对象。
  9. callable(): 检查对象是否可调用(例如,是否是函数或方法)。
  10. chr(): 返回 Unicode 码位为整数 i 的字符的字符串格式。
  11. classmethod(): 将方法转换为类方法。
  12. compile(): 将源代码编译为代码或 AST 对象。
  13. complex(): 创建一个复数。
  14. delattr(): 删除对象的属性。
  15. dict(): 创建一个新的字典。
  16. dir(): 尝试返回对象的有效属性列表。
  17. divmod(): 返回两个(非复数)数字的商和余数。
  18. enumerate(): 返回一个枚举对象。
  19. eval(): 解析并执行 Python 表达式。
  20. exec(): 动态执行 Python 程序。
  21. filter(): 构造一个迭代器,从 iterable 中产生那些 function(item) 为 true 的项。
  22. float(): 将一个字符串或数字转换为浮点数。
  23. format(): 格式化一个指定的值。
  24. frozenset(): 返回一个新的 frozenset 对象,可选地使用 iterable 的元素。
  25. getattr(): 返回对象的命名属性的值。
  26. globals(): 返回当前全局符号表的字典。
  27. hasattr(): 判断对象是否包含对应的属性。
  28. hash(): 返回对象的哈希值。
  29. help(): 调用内置的帮助系统。
  30. hex(): 将整数转换为以“0x”为前缀的小写十六进制字符串。
  31. id(): 返回对象的“标识值”。
  32. input(): 读取一行输入,可选地转换为字符串。
  33. int(): 将一个数字或字符串转换为整数。
  34. isinstance(): 检查对象是否是类的实例,或者是其子类的实例。
  35. issubclass(): 检查一个类是否是另一个类的子类。
  36. iter(): 返回一个迭代器对象。
  37. len(): 返回对象的长度(元素的个数)。
  38. list(): 创建一个列表。
  39. locals(): 更新并返回表示当前局部符号表的字典。
  40. map(): 返回一个将 function 应用于 iterable 的每一项并输出其结果的迭代器。
  41. max(): 返回可迭代对象中最大的元素,或者两个或更多参数中最大的。
  42. memoryview(): 返回给定参数的内存查看对象。
  43. min(): 返回可迭代对象中最小的元素,或者两个或更多参数中最小的。
  44. next(): 检索迭代器的下一个元素。
  45. object(): 返回一个新的无特性的对象。
  46. oct(): 将整数转换为八进制字符串。
  47. open(): 打开文件,并返回一个文件对象。
  48. ord(): 返回表示字符的 Unicode 码位的整数。
  49. pow(): 返回 x 的 y 次幂。
  50. print(): 打印对象到文本流 file,由 sep 分隔并由 end 结束。
  51. property(): 获取、设置或删除一个属性。
  52. range(): 返回一个可迭代的对象(类型是对象)。
  53. repr(): 返回包含一个对象的可打印表示的字符串。
  54. reversed(): 返回一个反向的 iterator。
  55. round(): 四舍五入到最接近的整数,作为一个浮点数。
  56. set(): 返回一个新的 set 对象,可选地使用 iterable 的元素。
  57. setattr(): 给对象的命名属性赋值,如果该属性不存在,先创建它。
  58. slice(): 返回一个表示由 range(start, stop, step) 所指定索引集的 slice 对象。
  59. sorted(): 返回一个新的已排序的列表。
  60. staticmethod(): 将方法转换为静态方法。
  61. str(): 返回一个对象的 string 版本。
  62. sum(): 返回一个可迭代对象的所有项的总和。
  63. super(): 返回一个临时对象,该对象的类型是 type,该对象的搜索开始于父类。
  64. tuple(): 创建一个新的元组。
  65. type(): 返回对象的类型。
  66. vars(): 返回对象的 dict 属性。
  67. zip(): 创建一个聚合了来自每个可迭代对象中的元素的迭代器。
  68. __import__(): 该函数由 import 语句调用。它可以被替换(通过导入 builtins 模块然后赋值给 builtins.import)以改变 import 语句的语义,但 doing so is strongly discouraged because it is usually simpler to use import hooks (see PEP 302) to attain the same goals and does not cause issues with code which assumes the default import implementation is in use. Direct use of import() is also discouraged in favor of importlib.import_module().

以上就是Python中的所有内置函数。

web

发送带有浏览器请求头的POST JSON数据

php
import requests url = "https://httpbin.org/post" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", "Content-Type": "application/json" } data = { "id": 1001, "name": "geek", "passion": "coding" } response = requests.post(url, json=data, headers=headers) print("Status Code:", response.status_code) print("Response JSON:", response.json())

发送带有浏览器请求头的POST普通参数

php
import requests url = "https://httpbin.org/post" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", "Content-Type": "application/x-www-form-urlencoded" } data = { "username": "testuser", "password": "testpass" } response = requests.post(url, data=data, headers=headers) print("Status Code:", response.status_code) print("Response JSON:", response.json())

发送带有浏览器请求头的GET请求

php
import requests url = "https://httpbin.org/get" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" } params = { "search": "python", "page": 1 } response = requests.get(url, headers=headers, params=params) print("Status Code:", response.status_code) print("Response JSON:", response.json())

本文作者:chi11i

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!