python基础课程2(看代码看注释)--条件判断|循环|函数|生成器|类

##人生苦短,我用python
##课程内容
#条件判断
#循环
#类:简单介绍类的用法##条件判断
#if condiction:#   dosomething
#else:
#    dosomething
total_cost = 32.5
if total_cost>30:discount = 0.9
elif total_cost>20:diacount = 0.95
else :discount = 1
total_cost = discount
print('小姐姐买水果的花费为:{}元'.format(total_cost))
#布尔型变量做运算
a = True
b = False
print('a is {},b is {}'.format(a,b) )
print('a and b is {}'.format(a and b) )
print('a or b is {}'.format(a or b) )
print('not a is {}'.format(not a) )
##条件判断的近亲-断言:我断言它肯定是这样的,如果不是我就崩溃
age=19
assert age==18,'她竟然不是18岁'#如果age是18则是18,如果不是就输出“她竟然不是18岁”。为了程序员捕捉或者调试错误出现的##循环for循环(遍历循环),while循环(条件循环)
#for循环:遍历循环
costs = [2,3,5,7,9,4]
for cost in costs:print('消费{}元'.format(str(cost).center(10))#str()转换成字符串形式,center()为了格式好看
#生成一个长度为20的一个随机列表
# 生成随机数需要使用random模块
import random
# 生成一个1-10之间的随机数
random.randint(1,10)
random_numbers = []
while len(random_numbers)<20:random_numbers.append(random_numbers.randint(1,10))
print(random_numbers,len(random_numbers))random_numbers = []
for i in range(20):random_numbers.append(random.randint(1,10))
print(random_numbers,len(random_numbers))
##编程建议:就是只要能使用for循环就不要使用while循环
##当循环条件跟数量没有关系时只能使用while循环
#题目:往空列表添加随机数,直到添加的数为9时结束,只能用while
random_numbers = []
while 9 not in random_numbers:random_numbers.append(random.randint(1,10))
print(random_numbers,len(random_numbers))
##问题:a = [1,2,3]是个列表,判断b = 1,c = (b in a),判断c是什么类型,是不是一个元组呢?不是元组,是一个布尔型变量。元组永远是true
import time
number = 0
while True:time.sleep(1)number+=1print('hello world,{}'.format(number),end = '\r')
a = []
b = ()
type(a),type(b)
random_numbers=[6,3,7,5,9]
#跳出本次循环
for number in random_numbers:if number % 2 ==0:print('{} is 偶数'.format(number))else:continue
#跳出全部循环
for number in random_numbers:if number % 2 == 0:print('{} is 偶数'.format(number))else:breakprint("没有跳过")
else:print('全是偶数')
##for 可以构建推导式:可以从一个数据系列构建另一个数据系列
random_numbers = list(range(10))
random_numbersnew_numbers = []
for number in random_numbers:new_numbers .append(number=10)
#g构建推导式:
new_numbers = [number*10 for number in random_numbers]##拼凑出新的列表,叫做列表推导式,即我们是在列表里使用for进行的推导式,也可以拥有字典推导式
##字典推导式
print(dict_numbers = {number :'A' for number in random_numbers})
tuple_number = (number*10 for number in random_numbers)##tuple此时是一个生成器,是一个可迭代的序列
##生成器:在网上下电影想下高清的但是内存不够,但是还是可以看到大于内存的,说明电影不是一下子就下载到内存上的,是一边播放一边下载的。
tuple(tuple_number)###函数:抽象概念 函数名 括号传递参数 return返回值  位置参数是不可以交换位置的
variable_item = {'a':100,'b':200,'c':300,'d':400,'e':500}
[key for key,value in variable_item.items() if value ==100]##繁琐
#定义函数
def get_keys(dict_variable,value):return [k for k,v in dict_variable.items() if v ==value]
get_keys(variable_item,100) #调用的时候传递的参数才是实参
#函数是封装好的,可以重复使用的,能够完成特定功能的代码块,它是代码的抽象
def pow1(x,a):y = x**aprint('y is {}'.format(y))
y1 = pow1(2,3)#不建议对可变类型在函数内进行更改,建议用函数返回值进行重新赋值
def test(variable):temp = variable.copy()temp.append(100)return tempvar = []
var = test(var)#参数收集:就是在用的时候还不知道要不要用其他的参数,就先进行一下空间的开辟## **就是收集key=value这种形式的参数
def test2(name,age,*args,**kwargs):print(name,age,*args,**kwargs)
test('wrong',12,23,'[k]',[12,23])
dict_variable={'weight':100,'height':200
}
test('wrong',12,**dict_variable)#收集位置参数,收集关键字参数?##装饰器:
a = 10
b = [11,12]def test():print('test')
c = test
#可以把函数赋值给一个变量,函数返回函数,函数可以当做函数的·返回值进行返回
def test1(func):return func
f = test1(func)
f.__name__
f()
#返回一个从0-1的浮点数
import random
def test():return round(random.random(),1)
#函数返回的浮点数保留3个有效数字
##python另一个语法糖。装饰器
@decorator
import random
def test():return random.random(),1
@decorator
def decorator(func):def wrapper(*args,**kwargs):#do somethingreturn round(func(*args,**kwargs),3)return wrapper()
f = decorator(test)
test.__name__###类
class Person:def __init__(self,name,age):
#初始化函数中,self后边是实例化对象的属性,加下划线的意思是这个属性是私有的,不应该访问self._name = name#表示我该属性是隐私的self._age = agedef get_name(self):return self._names = 'hello world'
a.center(12)
p = Person('wang',12)
p.get_name()
#继承
class Student(person):pass #什么都不做,占个位而已

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】55. 可分离卷积核

【OpenCV 例程200篇】55. 可分离卷积核 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 空间滤波器是由邻域和定义的操作构成的&#xff0c;滤波器规定了滤波时采用的邻域形状及该区域内像素值的…

Anaconda 安装 Python 库(MySQLdb)的方法

转载自&#xff1a;苏皖静儿 [已解决]Anaconda 安装 Python 库&#xff08;MySQLdb&#xff09;的方法 zoerywzhou163.com http://www.cnblogs.com/swje/ 作者&#xff1a;Zhouwan 2017-12-4 安装python库的过程中&#xff0c;最重要的地方就是版本需要兼容。其中操作系统为…

获取数据库内容放入下拉框中

获取数据库里的数据放入下拉框中&#xff0c;使下拉框显示的内容是数据库里的内容 功能分析&#xff1a; 设计并实现数据库插入相关数据在登陆页面点击注册按钮时跳到Servlet中在Servlet中连接数据库查询内容放入session中传给jsp页面在jsp页面接受session内容并使用for循环输…

【OpenCV 例程200篇】56. 低通盒式滤波器

【OpenCV 例程200篇】56. 低通盒式滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像预处理…

数据只读且无法修改

对输入框的数据进行只读不可修改的设置。 功能分析&#xff1a; 无论你是删除增加点击选中等所有操作对输入框的数据无影响&#xff0c;输入框的数据只会是原始的数据不可修改&#xff0c;一切操作无效。 先看效果图&#xff08;数据不可更改&#xff09; 要实现此效果一共有…

【OpenCV 例程200篇】57. 低通高斯滤波器

【OpenCV 例程200篇】57. 低通高斯滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像预处理…

python基础课程3(看代码看注释)--数据库基本操作(mysql)

#人生苦短&#xff0c;我用python #推荐一个python数据结构可视化工具&#xff0c;网址&#xff1a;http://www.pythontutor.com ##课表&#xff1a;1.mysql数据库的基本操作&#xff1b;2.用python操作基本数据库&#xff1b;3.编写python爬虫并保存到数据库###数据库&#xf…

我的Go+语言初体验——(7)Go+ 分数型有理数数据类型

我的Go语言初体验——&#xff08;7&#xff09;Go 分数型有理数数据类型 “我的Go语言初体验” | 征文活动进行中… 更多内容&#xff0c;请参阅&#xff1a; 我的Go语言初体验——&#xff08;7&#xff09;Go 分数型有理数数据类型 Go 语言使用后缀 ‘r’ 表示有理数&…

IDEA包的分层显示

使IDEA的项目和包分层显示&#xff0c;结构更加清晰。 未设置分层显示之前的包结构 设置了分层显示之后的包结构 那么如何设置呢&#xff0c;让我们一起来看看吧&#xff01; 设置包结构分层方法 第一步&#xff08;点击像设置一样的图标出先如下菜单&#xff09; 第二部 …

python基础课程4(看代码看注释)--爬虫爬取网页信息

#主要用的python库&#xff1a;安装必要的库requests&#xff1a;用来获取页面信息&#xff1b; BeautifulSoup&#xff1a;用来获取页面结构的详细信息 #先获取链接&#xff0c;再到一个列表&#xff0c;进入标签&#xff0c;然后到class。。。。。就可以了&#xff08;省略&a…

【OpenCV 例程200篇】58. 非线性滤波—中值滤波

【OpenCV 例程200篇】58. 非线性滤波—中值滤波 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑制&#xff0c;是常用的图像…

python基础课程5(看代码看注释)--numpy

#人生苦短&#xff0c;我用python #给文件设置配置环境路径&#xff1a;file->Settings->project mylesson->project interpreter #numpy:除了字符串、列表、元组、字典之外还有一种数据结构就是数组&#xff0c;列表能存储任意数据&#xff0c;数组只能存储一种类型数…

【OpenCV 例程200篇】59. 非线性滤波—双边滤波

【OpenCV 例程200篇】59. 非线性滤波—双边滤波&#xff08;Bilateral filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图…

部门信息管理系统

实现对部门信息的分类管理&#xff0c;对不同部门人员的管理&#xff08;增删改查&#xff09;&#xff0c;新用户的注册和登陆等 功能分析&#xff1a; 实现用户的登陆实现用户的注册&#xff08;注册不同的部门和职位&#xff09;登陆之后会显示所有员工和经理的信息实现对…

python基础课程6(看代码看注释)--pandas

##人生苦短&#xff0c;我用python #pandas ##首先讲讲数据格式&#xff0c;csv文件格式&#xff0c;程序之间表格数据之间的转移&#xff0c;如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本&#xff0c;使用某个字符集&#xff0c;比如ascii&#xff0c;Unicode&a…

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波

【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波&#xff08;Joint bilateral filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件…

python基础课程7(看代码看注释)--matplotlib作图

##人生苦短&#xff0c;我用python #pandas ##首先讲讲数据格式&#xff0c;csv文件格式&#xff0c;程序之间表格数据之间的转移&#xff0c;如从数据库导入到excel中csv是很合适的转移格式。 #1.纯文本&#xff0c;使用某个字符集&#xff0c;比如ascii&#xff0c;Unicode&a…

租车系统

为了资源的节约有效利用&#xff0c;使车辆发挥更大的作用&#xff0c;我在此做了一个租车系统。 功能分析&#xff1a; 1&#xff1a;登录功能 2&#xff1a;后台管理功能 3&#xff1a;车辆管理功能 4&#xff1a;用户管理功能 5&#xff1a;前台用户功能 6&#xff1a;查看…

【OpenCV 例程200篇】61. 导向滤波(Guided filter)

【OpenCV 例程200篇】61. 导向滤波&#xff08;Guided filter&#xff09; 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 图像滤波是在尽可能保留图像细节特征的条件下对目标图像的噪声进行抑…

使用MATLAB GUI创建图形用户界面GUI

MATLAB是众多理工科学生及工程师经常使用的一款数学软件&#xff0c;除了可以实现数据处理&#xff0c;矩阵运算、函数绘制等功能外&#xff0c;MATLAB还可以实现图形用户界面的设计。 下面介绍如何让小白也能用GUI创建最基本的用户界面&#xff0c;并帮助大家学会在今后的…