1、一行代码实现1--100之和

>>> sum(range(1,101))

5050

2、如何在一个函数内部修改全局变量

a=5

print("修改之前的a的值: %s" % a)

def fn():

global a

a=3

fn()

print("修改之后的a的值: %s" % a)

[python@master2 test]$ python3 c.py

修改之前的a的值: 5

修改之后的a的值: 3

3、列出5个python标准库

os:     提供了不少与操作系统相关联的函数

sys:     通常用于命令行参数

re:      正则匹配

math:    数学运算

datetime:处理日期时间

4、字典如何删除键和合并两个字典

del和update方法

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

dict['Name']

del dict['Age']

dict2 = {'Name':'zhang','adress':'zhengzhou'}

dict.update(dict2)

dict

{'Name': 'zhang', 'Class': 'First', 'adress': 'zhengzhou'}

5、谈下python的GIL

GIL 是python的全局解释器锁,同一进程中假如有多个线程运行,一个线程在运行python程序的时候会霸占python解释器(加了一把锁即GIL),

使该进程内的其他线程无法运行,等该线程运行完后其他线程才能运行。如果线程运行过程中遇到耗时操作,则解释器锁解开,使其他线程运行。

所以在多线程中,线程的运行仍是有先后顺序的,并不是同时进行。多进程中因为每个进程都能被系统分配资源,相当于每个进程有了一个python

解释器,所以多进程可以实现多个进程的同时运行,缺点是进程系统资源开销大.

6、python实现列表去重的方法

list=[11,21,21,30,34,56,78]

a=set(list)

a

{11, 21, 30, 34, 56, 78}

[x for x in  a]

[34, 11, 78, 21, 56, 30]

7、fun(*args,**kwargs)中的*args,**kwargs什么意思?

一个星号*的作用是将tuple或者list中的元素进行unpack,分开传入,作为多个参数;两个星号**的作用是把dict类型的数据作为参数传入。

kwargs是keyword argument的缩写,args就是argument。我们知道,在Python中有两种参数,一种叫位置参数(positional argument),

一种叫关键词参数(keyword argument),关键词参数只需要用 keyword = somekey 的方法即可传参,而位置参数只能由参数位置决定。

这也就决定了位置参数一定要在前面,否则关键词参数数量的变化(比如有些kwargs有默认值因此没有传参或者在后面传参的),

都会使得位置无法判断。因此常见的也是*args 在 **kwargs 前面。

def this_fun(a,b,*args,**kwargs):

print(a)

print(b)

print(args)

print(kwargs)

this_fun(0,1,2,3,index1=11,index2=22)

[python@master2 test]$ python3 d.py

0

1

(2, 3)

{'index1': 11, 'index2': 22}

8、python2和python3的range(100)的区别

python2返回列表,python3返回迭代器,节约内存

[python@master2 test]$ python2

Python 2.7.5 (default, May  3 2017, 07:55:04)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-14)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> range(100)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

>>>

[python@master2 test]$ python

Python 3.7.1 (default, Dec 14 2018, 19:28:38)

[GCC 7.3.0] :: Anaconda, Inc. on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> range(100)

range(0, 100)

10、python内建数据类型有哪些

整型--int

布尔型--bool

字符串--str

列表--list

元组--tuple

字典--dict

11、with和open对比

运用open

f1=open('d.py','r',encoding='utf-8')

data=f1.read()

print(data)

f1.close

防止文件读写时因为产生IOError,而导致close()未调用。我们可以用try... finally

try:

f=open('d.py','r')

try:

print(f.read())

except:

print("文件读取异常")

finally:

f.close()

except:

print('打开文件异常')

使用 with  open 方法,当文件读写完成后,会自动帮我们调用 close 方法

with open('d.py', 'r') as f1:

print(f1.read())

12、列表[1,2,3,4,5],请使用map()函数输出[1,4,9,16,25],并使用列表推导式提取出大于10的数,最终输出[16,25]

map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。

list=[1,2,3,4,5]

def fn(x):

return (x**2)

res=map(fn,list)

res=[ i for i in res if i >10]

print(res)

[python@master2 test]$ python a.py

[16, 25]

13.python中生成随机整数、随机小数、0--1之间小数方法

随机整数:random.randint(a,b),生成区间内的整数

随机小数:习惯用numpy库,利用np.random.randn(5)生成5个随机小数

0-1随机小数:random.random(),括号中不传参

import random

import numpy

>>> random.randint(0,10)

8

>>> numpy.random.randn(5)

array([-0.21294827,  0.21725878,  1.22016076,  0.01280653,  0.79922363])

>>> random.random()

0.047529962365749134

14.python中断言方法举例

a=5

assert(a>1)

print('断言成功,程序继续向下执行')

b=8

assert(b>10)

print('断言失败,程序报错')

运行:

[python@master2 test]$ python b.py

断言成功,程序继续向下执行

Traceback (most recent call last):

File "b.py", line 5, in

assert(b>10)

AssertionError

15.python2和python3区别?列举5个

1、Python3 使用 print 必须要以小括号包裹打印内容,比如print('hi')

Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如print 'hi'

2、python2 range(1,10)返回列表,python3中返回迭代器,节约内存

3、python2中使用ascii编码,python中使用utf-8编码

4、python2中unicode表示字符串序列,str表示字节序列

python3中str表示字符串序列,byte表示字节序列

5、python2中为正常显示中文,引入coding声明,python3中不需要

6、python2中是raw_input()函数,python3中是input()函数

16.用lambda函数实现两个数相乘

>>> sum=lambda a,b:a*b

>>> print(sum(2,3))

6

17.冒泡排序

lis = [56,12,2,4,100,34,345,-65]

print(lis)

def sortport():for i in range(len(lis)-1):for j in range(len(lis)-1-i):if lis[j]>lis[j+1]:

lis[j],lis[j+1]=lis[j+1],lis[j]

returnlis

sortport()print(lis)[python@master2 sys]$ python3 a.py[56, 12, 2, 4, 100, 34, 345, -65]

[-65, 2, 4, 12, 34, 56, 100, 345]

python知识点博客园_python零碎知识点一相关推荐

  1. python 爬虫 博客园_Python爬虫爬取博客园作业

    分析一下他们的代码,我在浏览器中对应位置右键,然后点击检查元素,可以找到对应部分的代码.但是,直接查看当前网页的源码发现,里面并没有对应的代码.我猜测这里是根据服务器上的数据动态生成的这部分代码,所以 ...

  2. python教程博客园_python学习(一)—简明python教程

    2016-04-12 15:59:47 1. 介绍 2. 安装Python 3. 最初的步骤 4. 基本概念 5. 运算符与表达式 6. 控制流 7. 函数 8. 模块 9. 数据结构 10. 解决问 ...

  3. python的selenium模块博客园_Python学习--Selenium模块学习(2)

    Selenium的基本操作 获取浏览器驱动寻找方式 1. 通过手动指定浏览器驱动路径 2. 通过 `$PATH`环境变量找寻浏览器驱动 控制浏览器访问URL find系列函数定位元素 - `find_ ...

  4. python博客园_python模拟博客园登录-基础版

    mport time import inspect from functools import wraps user_status = {'username': None,'status': Fals ...

  5. python博客园_用Python向博客园发布新文章

    最近在开发一个博客系统,经常把写的东西放在自己网站的博客上(之前写在Onenote),然后我在博客园也申请了一个博客,就有了同样一篇文章,我需要复制粘贴排版分别提交两次的情况.于是我就想能不能在我的网 ...

  6. Python爬虫-博客园首页推荐博客排行(整合词云+邮件发送)

    1.前提: 总体思路,利用多线程(mutiSpider)爬取博客园首页推荐博客,根据用户名爬取该用户的阅读排行榜(TopViewPosts),评论排行榜(TopFeedbackPosts),推荐排行榜 ...

  7. python实现杨辉三角形博客园_Python实现杨辉三角

    杨辉三角,是二项式系数在三角形中的一种几何排列.在欧洲,这个表叫做帕斯卡三角形.帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年.杨辉三角是中国古代 ...

  8. python面试总结 博客园_python面试题总结

    Python语言特性 1. Python的函数参数传递 ​看两个如下例子,分析运行结果 #代码1 a = 1 def fun(a): a = 2 fun(a) print(a) #1 #代码2 a = ...

  9. python中json模块博客园_Python中的Json模块详解

    Python中的Json模块详解 Json(JavaScript Object Notation)它是一种轻量级的数据交换格式,具有数据格式简单,读写方便易懂等很多优点.许多主流的编程语言都在用它来进 ...

最新文章

  1. webpack 配置简单说几句 ?
  2. maven实战总结,工作中常见操作
  3. python列表的append和extend
  4. 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架(作业:TensorFlow教程+数字手势预测)
  5. Multivariate Linear Regression的参数估计
  6. Java进阶03 IO基础
  7. 51nod1003阶乘后边0的数量
  8. 极品飞车8 免CD补丁 CDKEY生成器
  9. 移动开发之微信小程序——资料集合
  10. 利用Java寻找完美数
  11. Can't update 分支名 has no tracked branch
  12. oracle dbms_lob trim,DBMS_LOB
  13. Vue 爬坑之旅 -- 用自定义指令解决 IOS 12 中键盘收起后页面底部有留白的问题
  14. 关于df -h卡住和系统磁盘被占满的问题
  15. 南卡小音舱蓝牙耳机评测:超轻腔体震撼音质
  16. 【愚公系列】2022年04月 微信小程序-实时音视频录制
  17. 单片机——C51实验含Proteus仿真(独立键盘,矩阵键盘)
  18. 红米android10参数,红米note9详细参数表_红米note9参数配置详情
  19. 2022年必读的10本经管好书
  20. Android网络通信(HttpURLConnection)和 数据传输格式(JSON)

热门文章

  1. 数据库开发管理中的十条建议
  2. 互联网公司败局汇总,这些公司都是怎么死的?(上篇)
  3. 当变化来临,PM的心态和节奏如何把握?
  4. 我最近做产品的一些「感悟」
  5. PMCAFF | 为什么找一款CRM软件那么难?
  6. Lambda and Anonymous Classes
  7. 英佩臻游联手发力《全球使命VR》突显未来野心
  8. P1018 乘积最大
  9. 51单片机系列——基础指令
  10. 阿里巴巴开源项目nginx_concat_module企业部署实例