1.十进制转换为二进制

>>> bin(10)
'0b1010'

2.十进制转换为八进制

>>> oct(9)
'0o11'

3.十进制转换为十六进制

>>> hex(15)
'0xf'

4.字符串转换为字节类型

>>> s = "apple"
>>> bytes(s,encoding='utf-8')
b'apple'

5.字符类型、数值型等转换为字符串类型

>>> i = 100
>>> str(i)
'100'

6.十进制整数对应的 ASCII 字符

>>> chr(65)
'A'

7.ASCII字符对应的十进制数

>>> ord('A')
65

8.整数或数值型字符串转换为浮点数

>>> float(3)
3.0

9.创建数据字典的几种方法

>>> dict()
{}
>>> dict(a='a',b='b')
{'a': 'a', 'b': 'b'}
>>> dict(zip(['a','b'],[1,2]))
{'a': 1, 'b': 2}
>>> dict([('a',1),('b',2)])
{'a': 1, 'b': 2}

10.排序函数

>>> a = [1,4,2,3,1]
#降序
>>> sorted(a,reverse=True)
[4, 3, 2, 1, 1]
>>> a = [{'name':'xiaoming','age':18,'gender':'male'},{'name':'xiaohong','age':20,'gender':'female'}]
#按 age升序
>>> sorted(a,key=lambda x: x['age'],reverse=False)
[{'name': 'xiaoming', 'age': 18, 'gender': 'male'},
{'name': 'xiaohong', 'age': 20, 'gender': 'female'}]

11.求和函数

>>> a = [1,4,2,3,1]
>>> sum(a)
11
#求和初始值为1
>>> sum(a,1)
12

12.计算字符串型表达式的值

>>> s = "1 + 3 +5"
>>> eval(s)
9
>>> eval('[1,3,5]*3')
[1, 3, 5, 1, 3, 5, 1, 3, 5]

13.获取用户输入内容

>>> input()
I'm typing
"I'm typing "

14.print 用法

>>> lst = [1,3,5]
# f 打印
>>> print(f'lst: {lst}')
lst: [1, 3, 5]
# format 打印
>>> print('lst:{}'.format(lst))
lst:[1, 3, 5]

15.格式化字符串常见用法

>>> print("i am {0},age {1}".format("tom",18))
i am tom,age 18
>>> print("{:.2f}".format(3.1415926)) # 保留小数点后两位
3.14
>>> print("{:+.2f}".format(-1)) # 带符号保留小数点后两位
-1.00
>>> print("{:.0f}".format(2.718)) # 不带小数位
3
>>> print("{:0>3d}".format(5)) # 整数补零,填充左边, 宽度为3
005
>>> print("{:,}".format(10241024)) # 以逗号分隔的数字格式
10,241,024
>>> print("{:.2%}".format(0.718)) # 百分比格式
71.80%
>>> print("{:.2e}".format(10241024)) # 指数记法
1.02e+07
值(值得注意,自定义的实例都可哈希,list, dict, set等可变对象都不可哈希)>>> class Student():def __init__(self,id,name):self.id = idself.name = name>>> xiaoming = Student('001','xiaoming')
>>> hash(xiaoming)
-9223371894234104688

16.if not x

直接使用 x 和 not x 判断 x 是否为 None 或空

x = [1,3,5]if x:print('x is not empty ')if not x:print('x is empty')

17.打开文件,并返回文件对象

>>> import os
>>> os.chdir('D:/source/dataset')
>>> os.listdir()
['drinksbycountry.csv', 'IMDB-Movie-Data.csv', 'movietweetings',
'titanic_eda_data.csv', 'titanic_train_data.csv']
>>> o = open('drinksbycountry.csv',mode='r',encoding='utf-8')
>>> o.read()
"country,beer_servings,spirit_servings,wine_servings,total_litres_of_pur
e_alcohol,continent\nAfghanistan,0,0,0,0.0,Asia\nAlbania,89,132,54,4.9,"

18. 创建迭代器

>>> class TestIter():def __init__(self,lst):self.lst = lst# 重写可迭代协议__iter__def __iter__(self):print('__iter__ is called')return iter(self.lst)
迭代 TestIter 类:>>> t = TestIter()
>>> t = TestIter([1,3,5,7,9])
>>> for e in t:print(e)__iter__ is called
1
3
5
7
9

19.创建range迭代器

>>> t = range(11)
>>> t = range(0,11,2)
>>> for e in t:print(e)0
2
4
6
8
10

20.反向

>>> rev = reversed([1,4,2,3,1])
>>> for i in rev:print(i)1
3
2
4
1

21.打包

>>> x = [3,2,1]
>>> y = [4,5,6]
>>> list(zip(y,x))
[(4, 3), (5, 2), (6, 1)]
>>> for i,j in zip(y,x):print(i,j)4 3
5 2
6 1

22.过滤器

函数通过 lambda 表达式设定过滤条件,保留 lambda 表达式为True的元素:>>> fil = filter(lambda x: x>10,[1,11,2,45,7,6,13])
>>> for e in fil:print(e)11
45
13

23. split 分割**

>>> 'i love python'.split(' ')
['i', 'love', 'python']

24. 提取后缀名

>>> import os
>>> os.path.splitext('D:/source/dataset/new_file.txt')
('D:/source/dataset/new_file', '.txt') #[1]:后缀名

25.斐波那契数列前n项

>>> def fibonacci(n):a, b = 1, 1for _ in range(n):yield aa, b = b, a+b # 注意这种赋值>>> for fib in fibonacci(10):print(fib)1
1
2
3
5
8
13
21
34
55

26.list 等分 n 组

>>> from math import ceil
>>> def divide_iter(lst, n):if n <= 0:yield lstreturni, div = 0, ceil(len(lst) / n)while i < n:yield lst[i * div: (i + 1) * div]i += 1>>> for group in divide_iter([1,2,3,4,5],2):print(group)[1, 2, 3]
[4, 5]

27. 列表生成式

data = [1, 2, 3, 5, 8]
result = [i * 2 for i in data if i & 1] # 奇数则乘以2
print(result) # [2, 6, 10]

28.字典生成式

keys = ['a', 'b', 'c']
values = [1, 3, 5]d = {k: v for k, v in zip(keys, values)}
print(d)

29.判断字符串是否包含某个子串,使用in明显更加可读

x = 'zen_of_python'
if 'zen' in x:print('zen is in')

30.zip 打包

使用 zip 打包后结合 for 使用输出一对

keys = ['a', 'b', 'c']
values = [1, 3, 5]for k, v in zip(keys, values):print(k, v)

干货满满,30个Python源代码!相关推荐

  1. e记法 python 底数_干货满满,30个Python源代码!

    1.十进制转换为二进制 >>> bin(10) '0b1010' 2.十进制转换为八进制 >>> oct(9) '0o11' 3.十进制转换为十六进制 >&g ...

  2. 你可能不知道的Python面试秘籍 干货满满(附带参考答案)上篇

    Q1.Python中的列表和元组有什么区别? 你可能不知道的Python面试秘籍 干货满满(附带参考答案)上篇 Q2.Python的主要功能是什么? Python是一种解释型语言.与C语言等语言不同, ...

  3. 最让人暖心的Numpy笔记~干货满满!你绝对不能错过哦~~~~

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. NumPy 的前身 Numeric 最早 ...

  4. 即学即用的30段Python实用代码

    (图片付费下载自视觉中国) 原标题 | 30 Helpful Python Snippets That You Can Learn in 30 Seconds or Less 作 者 | Fatos ...

  5. 深度好玩!10个有趣且易上手的AI项目(附 Python 源代码)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|机器学习算法那些事 人工智能已经成为我们生活的一部分.我 ...

  6. python自动源码_谷歌推出Tangent开源库,在Python源代码上做自动微分

    原标题:谷歌推出Tangent开源库,在Python源代码上做自动微分 李林 编译自 Google Research Blog 谷歌今天推出了一个新的开源Python自动微分库:Tangent. 和现 ...

  7. css就近原则_细品100道CSS知识点(上)「干货满满」

    作者:hh_phoebe 转发链接:https://juejin.im/post/5ee0cf335188254ec9505381 目录 细品100道CSS知识点(上)[干货满满]本篇 细品100道C ...

  8. 资深程序员才知道的30个Python技巧

    Python中的省略号 Python省略号是三点序列,通常在自然语言中使用.但是您可能不知道的是,这也是Python中的有效对象: - Ellipsis 它主要用于NumPy中的矩阵切片操作.但是,您 ...

  9. 干货满满~阿里天池目标检测保姆级教程

    阿里天池目标检测类比赛入门 1赛前准备 1.1设备 1.2必备技术 1.3相关论文 1.4开源工具 2比赛规则分析 2.1评分指标 2.2模型限制的解决方法 3数据分析 3.1感受野&anch ...

  10. 王者荣耀——bat批处理文件,自动刷金币版(脱胎于30行Python代码刷金币版),Windows双击即可运行!

    参考<30行Python代码刷王者荣耀金币>:https://segmentfault.com/a/1190000012520431 1.源代码 以下是源代码部分,全部复制到文本文档, 用 ...

最新文章

  1. 故事篇:数据库架构演变之路
  2. 论坛报名 | 语音与自然语言处理的最新突破和前沿趋势
  3. Understanding Global Unicast IPv6 Addressing
  4. ffmpeg流文件合并concat
  5. 认证服务号可通过模板消息向用户发送重要的服务通知
  6. Kotlin reduce、fold
  7. [置顶]       ibatis做分页
  8. IBASE handle free after save - buffer table cleared
  9. 推荐系统中的矩阵分解演变方式
  10. JAXB –不需要注释
  11. 计算机网络课程设计之网络代理服务器的设计与实现
  12. SVM与feature
  13. 字符串、组合数据类型练习
  14. Codeforces Round #256 (Div. 2)——Multiplication Table
  15. Mybatis if test中字符串比较
  16. 定制.NET GridView的长文本显示表格
  17. Java连接MySQL数据库步骤
  18. 推荐一款好用的Web端JSON在线编辑器svelte-jsoneditor
  19. Mac如何拷贝文件到移动硬盘
  20. python socket和多线程实现多人对话聊天室

热门文章

  1. 速达5000进销存PDA条码打印扫码开单-吉度PDA定制
  2. 【速达软件】速达5000系列、V5、S5批量更改税率
  3. 知网下载文献格式caj/pdf
  4. 信号处理--几种常见的窗函数
  5. 在consul中删除服务
  6. c语言 iostream,C语言 我应该在哪里使用iostream类?
  7. 测试驱动开发(TDD)实践与技巧
  8. 测试驱动开发心得体会
  9. 最大同性恋交友网站 github 被微软收购,我不服!
  10. 文件(夹)操作SHFileOperation (删除 复制 移动) 报错 无法读取源文件或磁盘