Python基础知识+题目练习,我不信你能做出这道题
函数式编程
高阶函数
Python学习交流Q群:660193417####
map(func, *iterable)
def fn(x, y, z):
pass
map(fn, range(10), range(10), range(10))
\Python学习交流Q群:660193417###
filter(func, iterable)
sorted(iterable, key=None, reverse=False)
sorted('AGFBDC')
sorted('ACDacbdE') # ['A', 'C', 'D', 'E', 'a', 'b', 'c', 'd']
# 按字符顺序排序,不区分大小写
def f(ch):
code = ord(ch) # 得到编码
if (97+26) >code >= 97:
code -= 32
return code
sorted('ACDacbdE', key=f) # ['A', 'a', 'b', 'C', 'c', 'D', 'd', 'E']

递归调用
闭包 closure
def fa(a, b):
c = a + b
def fx(x):
return a*x
return fx
f1 = fa(1, 2)

装饰器 decorators(专业提高篇)
问题:
def say(x):
print("您好:", x)
say('老魏') # 您好: 老魏
say('小张')
# 希望打印:
开始问候:
您好:老魏
结束问候
函数装饰器
函数装饰器是指装饰的是一个函数,传入的是一个函数,返回的也是一个函数的函数。
函数装饰器的语法:
def 装饰器函数名(参数):
语句块
return 函数对象
被装饰函数的语法
@装饰器函数名
def 函数名(形参列表):
语句块
示例见:
code/01_deco1.py
带有参数的装饰器及应用案例
见: 03_mydeco3.py
函数的文档字符串
函数内部,第一个没有赋值给任何变量的字符串为文档字符串
语法:
def 函数名(形参列表):
'''函数的文档字符串'''
函数语句块
示例:
def cba():
'这是一块文档字符串...'
pass
>>> help(cba)
函数的 __doc__属性
__doc__属性用于绑定该函数的文档字符串
示例:
def fx(a, b):
'''这是函数的文档字符串
这是第二行...
'''
print(fx.doc)
函数的__name__属性:
__name__属性用于绑定函数名的字符串
示例:
def fx():
pass
f1 = fx
print(f1.__name__)
函数定义语句(def语句的语法)
[@装饰器名1]
[@装饰器名2]
…
def 函数名([位置形参],[*[元组形参名]], [命名关键字形参], [**字典形参]):
'''文档字符串'''
语句块
注: []里的内容代表可省略
面试题:
Python学习交流Q群:660193417####
L = [1, 2, 3]
def f(n, lst=[]):
lst.append(n)
print(lst)
f(4, L) # 请问结果是[1, 2, 3, 4]
f(5, L) # 请问结果是[1, 2, 3, 4, 5]
f(100) # 请问打印结果是[100]
f(200) # 请问打印结果是[100, 200]
说明:
默认参数(缺省参数)绑定在函数对象内部,具随函数的生命一直存在
解决办法:
L = [1, 2, 3]
def f(n, lst=None):
if lst is None:
lst = []
lst.append(n)
print(lst)
f(4, L) # 请问结果是[1, 2, 3, 4]
f(5, L) # 请问结果是[1, 2, 3, 4, 5]
f(100) # 请问打印结果是[100]
f(200) # 请问打印结果是[200]
问题:
多人写一个程序时该怎么做?
模块 Module
什么是模块:
模块是一个包含有一系列数据,函数,类等组成的程序组
模块是一个文件,模块文件名通常以.py结尾
作用:
让一些相关的数据,函数,类等有逻辑的组织在一起,使逻辑结构更加清晰
模块中的数据,函数和类等可提供给其它模块或程序使用

模块的分类:
1. 内置模块(builtins),在解析器的内部可以直接使用
2. 标准库模块,安装python时已安装且可直接使用
3. 第三方模块(通常为开源),需要自己安装
4. 用户自己完的模块(可以作为其它人的第三方模块)
模块的导入语句
import 语句
语法:
import 模块名1[as 模块新名1][,模块名2 [as 模块新名2]], ...
示例:
Python学习交流Q群:660193417###
# 导入数学模块
import math
# 导入系统模块sys和 os模块
import sys, os
作用:
将某模块整体导入到当前模块
用法:
模块.属性名
dir(obj) 函数返回模块所有属性的字符串列表
help(obj) 可以查看模块相关的文档字符串
练习 :
1. 输入一个正方形的周长,输出正方形的面积
2. 输入一个圆的半径,打印出这个圆的面积
3. 输入一个正方型的面积,打印这个正方型的周长
( 要求: 用math模块内的函数和数据)
from import 语句
语法:
from 模块名 import 模块属性名1 [as 属性新名1][,模块属性名2[as 属性新名2], ...]
作用:
将某模块内的一个或多个属性导入到当前模块的作用域
示例:
from math import pi
from math import pow, sqrt
from math import factorial as fac
...

from import *语句
语法:
from 模块名 import *
作用:
将某模块的所有属性都导入到当前模块
示例:
from math import *
dir 函数:
dir([对象]) 返回一个字符串列表
作用:
一、如果没有参数调用,则返回当前作用域内的所有变量的列表
二、如果给定一个对象作为参数,则返回这个对象的所有变量的列表
1. 对于一个模块,返回这个模块的全部属性
2. 对于一个类对象,返回类对象的所有变量,亲递归基类对象的所有变量
3. 对于其它对象,返回所有的变量,类变量,基类变量
数学模块 math
模块名math
相关文档见:
python_base_docs_html/数学模块math.html
时间模块 time
此模块提供了时间相关的函数,且一直可用
相关文档见:
python_base_docs_html/时间模块time.html
练习:
写一个程序,输入你的出生日期
1) 算出你已经出生了多少天?
2) 算出你出生那天是星期几?
还是练习:
1. 写一个程序,以电子时钟格式打印时间:
时间格式为:
HH:MM:SS
时间每隔一秒刷新一次
2. 编写一个闹钟程序,启动时设置定时时间,到时候后打印出一句语,然后程序退出
3. 请编写函数fun,其功能是计算下列多项式的和
sn = 1 + 1/1! + 2/2! + 3/3! + ... n/n!
计算n为100时的值
看一下求出来的和是什么?
(建议用math.factorial)
最后
今天的分享到这里就没有了,下一章见啦!!!!!!
Python基础知识+题目练习,我不信你能做出这道题的更多相关文章
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- Python基础知识(Basic knowledge)
Python基础知识(Basic knowledge) 1.认识Python&基础环境搭建 2.Python基础(上) 3.Python基础(中) 4.Python基础(下) 5.Python ...
随机推荐
- python基础练习题(题目 斐波那契数列II)
day16 --------------------------------------------------------------- 实例024:斐波那契数列II 题目 有一分数序列:2/1,3 ...
- Navicat导出结果显示科学计数法(PostgreSQL)
原因:在EXCEL录入数超过11位,就会变成科学记数法 解决方案: 在postgresql需要导出的列中加入制表符 示例: SELECT 6280920221390000000061:: TEXT | ...
- Linux获取本机公网IP,调整双节点主从服务的RPC调用逻辑
简单记录一次双节点的之间的服务调用叭 ~ 现有: 服务A的双节点A1.A2 服务B的双节点B1.B2 服务A 和服务B 通过 Netty 实现 RPC 通信,可能会导致比较玄学的问题.如图: 要做到 ...
- win10屏幕亮度无法调节,已解决
一.问题背景 最近遇到了屏幕亮度无法调节的问题,屏幕特别亮,亮瞎眼的那种,安装各种驱动和修改注册表都不起作用,右键显示器设置根本找不到亮度调节,有时候可以找到但是调节不起作用. 二.发现原因 经过各种 ...
- python学习-Day19
目录 今日内容详细 正则表达式 开端 概念及相关符号 正则表达式之字符组 正则表达式之特殊符号 正则表达式之量词 小试牛刀 实现手机号码校验功能 复杂正则的编写 校验用户身份证号码 校验邮箱.快递单号 ...
- “如何实现集中管理、灵活高效的CI/CD”研讨会报名即将截止
如何实现集中管理.灵活高效的CI/CD ZOOM中文在线研讨会将于 2022年3月29日,星期二,下午3:00-5:00, 也就是 明天 举行, 如果您还未注册,点击按钮,立即注册此次研讨会(注册即可 ...
- Kafka Kerberos 安全认证
本主要介绍在 Kafka 中如何配置 Kerberos 认证,文中所使用到的软件版本:Java 1.8.0_261.Kafka_2.12-2.6.0.Kerberos 1.15.1. 1. Kerbe ...
- Git (常用命令)
某程序猿退休后决定练习书法,于是花重金买下文房四宝.某日,饭后突生雅兴,一番磨墨拟纸 并点上上好檀香.定神片刻,泼墨挥毫,郑重地写下一行:Hello World 斯~ 有被冷到吗哈哈哈 Git常用命令 ...
- 从OC角度思考OKR的底层逻辑
原创不易,求分享.求一键三连 扩展阅读:什么是OKR OC:Organization Cultrue即组织文化,标题用OC纯粹为了装逼... 自从接受公司文化建设工作后,思维发生了很大的变化,文化, ...
- ElasticSearch7.3学习(二十二)----Text字段排序、Scroll分批查询场景解析
1.Text字段排序 场景:数据库中按照某个字段排序,sql只需写order by 字段名即可,如果es对一个text field进行排序,es中无法排序.因为文档入倒排索引表时,分词存入,es无法知 ...