python基础课程1(看代码看注释)--基本操作和数据类型

python环境自行安装,建议安装3版本的环境。编辑器可以使用pycharm或者sublime,也可以在线上使用jupyterimport this #函数存在于模块中,我们需要先引用这个模块才能使用这个模块里的函数
print('hello,world')#单引号
print("hello,world")#双引号
print('hello,\'world')#合理使用单引号避免转义字符的使用,减少代码的丑陋程度(在单引号里使用单引号,在双引号里使用双引号)
#1.将python当成是计算器使用,从计算器开始
5 + 100
1 / 100 # 除数
10.0
100 * 10
100 - 99
100 % 3 # %取余数
100 ** 3 #10的3次方
10 **(1/3)#10开3次方
#完成更复杂的数学运算时要用到数学模块math
import math
math.pi
math.sin(math.pi/2)#sin(90du)pi=180度
math.floor(9.2343)#向下取整,小数点后边都不要了,就是9
math.ceil(9.3645)#向上取整,就是10
round(100/3,3)#round保留有效位数字函数,这里表示保留3位有效数字
#练习:女神取买水果,苹果是5元/斤,葡萄15元/斤。女神买了2斤苹果,1.5斤葡萄。请问女神买苹果和葡萄分别花了多少钱,一共花费了多少钱?
#苹果的花费
print(5*2)
#葡萄的花费
print(15*1.5)
#总共花费
print(5*2+15*1.5)
#1.存在的问题,脱离了题干我们无法知道数字含义;2.重复计算;3.表达不清晰(使用拼接的函数format())
#5是单价,15也是单价,我们把5赋值给apple_price表示,用grape_pricr表示15葡萄的单价
apple_price = 5
apple_weight = 2
apple_cost = apple_price * apple_weightgrape_price = 15
grape_weight = 1.5
grape_cost = grape_price * grape_weighttotal_cost = apple_cost +grape_costprint(apple_cost,grape_cost,total_cost)#format函数增强的格式化字符串函数format,对输出进行优化,例如输出解释性函数:苹果的花费为:{};葡萄的花费为:{};总共花费为:{};
print("苹果的花费为:{};葡萄的花费为:{};总花费为:{}".format(apple_cost,grape_cost,total_cost))#format里边的值依次替换了大括号里的值。format函数只认花括号#变量:代表某个值的名称,如上边题目的apple_price,若变量没有赋值就拿来使用的话会报错,在使用变量时必须要先赋值才能被使用
#语法糖
a = 10
b = 20
a,b = b,a
print("a is{};b is {}".format(a,b))#完成了两个值的替换
#变量的命名规范:1.标识符的第一个字母必须是字母表中的字母(大写或者小写)或者一个下划线;2.标识符的其他部分可以由字母(大写或小写)或者数字或者下划线都可以
abc_127_jskdh = 10
_djgk_18_ = 12
i = 10
__name = 50
name_836 = 50
#不符合的变量命名 73syfu = 560 #字母开头  my name = 50 #空格也是非法字符
#代码规范建议:1.不要使用单字符取名字,很难理解该单字符含义;2.变量名能够清晰地表达变量的意思;3.合理使用字母中间的下划线##python的变量类型:字符串类型,数值,列表类型list,元组类型tuple,字典类型dict
#变量类型--数值类型
number = 10
number = number +10
number+=10#增值运算
number -=10
number *= 10
number /=10
import math
#乘方,开方
math.pow(3,10)#3**10
3**10
math.floor(10.38947)
math.ceil(10.387)
#度的转换radians()
math.radians(180)#输出了pi
math.sin(math.pi/2)
math.cos(math.pi)
min(10,8346,264,209)#取最大值
max(10.364,374)#取最小值
10 % 3#取模
divmod(10/3,3)#输出(3,1)分别代表的是商和余数
#bool型,真命题假命题,一个True,一个False假呗,主要用在需要条件判断的情况下呗,严格区分大小写
True==1,False==0
#bool类型变量,and运算,or运算,非not运算
print(True and True) #与运算,都为真时才为真
print(True or False)#只要有一个为真时才为真
print(not True)#取反操作
True + 10#不建议这样,这样相加没有意义,不过在元组时有一个特例,在接下来会讲到
##字符串,在后边讲到类时会讲到,在大量调试时使用,着重讲解
#字符串可以用单引号或者双引号,通过单双引号的灵活使用可以避免不必要的字符转义,即\
line = 'hello world'
line = "hello world\""
line = 'hello world\''line1 = "ni hao"
line2 = "yuping"
print(line1 + line2)#字符串的加法操作
print(line1 * 3)#字符串的乘法操作,会输出三个字符串:"ni hao ni hao ni hao"
#字符串是不可变类型,相当于存储地址是不可以改变的。变量名相当于只是一个指针,可以用python里的id(line2)函数查询
line2 = "shukai"
#返回字符串长度
len(line2)
#返回一个身份的识别符,可以理解为返回一个变量的存储地址
id(line2)##答疑:主要是对前文的一些回顾,尤其是代码规范上
#字符串切片功能
line = 'huan ying da jia lai kan wo bo ke'
#取前十个字符
line[:10]#切片,取前十个字符,默认序列是从0开始的,字符串是属于一个序列,从0-10依次类推
line[2:20:2]#从第三个字符开始,取到前20个字符,每隔2个字符取一次
line[:-10]#取后十个字符
line[::-1]#取反转字符
line[1]#取单子字符line.title()#line+.可以看到可操作函数
line.capitalize? #快速查看函数如何使用,在函数后边加问号,返回字符串功能;capitalize功能是对首字符进行大写
line.center(20,'%')#至少接收一个参数,居中作用
line.count('A')#line字符串里的计数函数,就是查找该字符串出现的个数
##字符串首尾判断
line.endswith('aaaa')#是否以我们给定的字符串结尾
line.startswith('hdhdh')#是否以我们给定的字符串开始
line.find('S',3)#寻找line字符串中是否存在S字符,返回字符的下标,不存在返回-1;3表示跳过第3个字符开始查找
line.index('S')#返回字符的下标,不存在时直接报错,这是和find函数的区别
line.upper()#把所有字母变成大写
line.isupper()#判断是不是全部是大写
line.lower()#把所有字母变小写
line.islower()#判断是不是全部是小写
line.istitle()#判断是不是标题格式??
line = '   djhsdj  \n\t'##字符串中存在换行和制表符等
line.strip()##去除两端的空格或者制表符
line.rstrip()#去除左端的空格或者制表符
line.lstrip()#去除右端的空格或者制表符
#同时对字符串的大小写进行转换
line.swapcase()##对大写转换成小写,对小写转换成大写
#函数操作之后不是更改了字符串,单独的字符是不可以进行赋值操作的,上边用到的所有字符串函数都是为我们生成了一个新的字符串,原有的字符串是不变的,只是存储的指针改变了##列表:可以容纳任意类型的对象,任意数量的对象;重点是列表是可变类型的
variable = []#生成了一个空列表
variable = list() #和上述效果一样,生成了空列表
variable = [1,2,3,4,5,6,'python',[],[100,200]]
variable = []
variable.append(1)
variable.append(2)
variable.append('hgds')#表示列表是可变的,列表长度是可变的,字符串是不可以改变的
variable[0] = 10#在列表的指针为0的位置上的值替换为10,再一次验证是可变的
#python是一种动态类型的语言,一个变量时什么类型,要看程序在运行过程中代表的变量类型是什么
var = 10
type(var)#type函数表示变量的类型
##字符串和列表类型是可以相通的,例如切片操作等
variable[:10]
variable+variable
#学习到字符串时对字符串的操作在列表里也可以使用,这里可以用的那也会用,我们统称之为序列
##列表是一种容器型的序列,可以容纳多种类型;字符串是扁平型的序列,变量值决定了这个变量的类型
#append()函数没有返回值,而是修改了我们列表的对象
variable.append(1)#增加了1
#清空
variable.clear()
#copy函数
new_variable = variable.copy()##输出上是没有区别的,当我更该了new_variable的值时,会发现variable的值也被改变了,说明了两个列表的赋值影响是一回事
id(new_variable),id(variable)##发现地址是指向同一个地址,改变指针的元素时地址不变只是改变了内部的一个值,因此一变则全变
[1,2]+[2,3]
a=[1,2]
b=[3,4]
a.extend(b)#在a中插入b,更改了a的长度
a.insert(0,100)##添加元素操作,append()函数是在末尾添加元素,insert()函数是指定位置进行添加;在第0个位置添加元素100
a.pop(0)##将第0个位置的值弹掉,没有给传递参数就弹掉最后一个
a.remove(0)##移除元素操作,要移除的元素不存在就报错
a.sort(reversed=True)##排序函数;reverse=True反转函数##元组:不可变的列表,元组也是一个序列,但是是不可变的;除此之外不具备上述的广泛操作,基本不可变,只有count()和index()两个工具
var = tuple()
var = ()
type(var)
var = (1,2,3,[1,2,3])
var.count(1)##找1出现的次数
var.index(2)#找索引为2的元素##字典类型(同学们自己区分字符串和列表以及元组和字典的区别)一个字对应一个页码,叫做映射,在python里叫做字典
#空字典
var = {}
var = dict()
type(var)
words = {'中':100,'国':200
}
var{'中'}
location = {100,200}
location(words.index('中'))
#拉锁函数,将一个列表拉成2个列表
new_var = list(zip(words,location))#输出['中','国'][100,200]
dict(new_var)##列表转化为字典使用dict()函数
list(zip([1,2],[3,4,5],[4,5,5]))
##生成一个字典
students = {'li' 'wang','sun','huang','zhao'}
money = dict.fromkeys(students,10)#每个同学给定了一个元素对象初始值
##如何访问字典中的值
money('kid')##访问不存在的值报错
a = money.get('ww','100')#找不到返回空,如果给赋值了找不到可以给你返回赋予的值
money.keys()#返回键
money.items()#返回值
money.pop('wang')#删除操作
money['wang'] = 100#可以赋值,不存在的值时不可以访问的
money.setdefault('haha',1000)#赋值

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

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

相关文章

点击按钮切换图片

点击按钮时将当前显示的图片切换为指定要显示的图片 效果图演示 未点击更换图片之前显示的图片 点击更换图片之后 程序详解: 准备两张互相切换的图片给更换图片按钮添加点击事件把两张图片放在一个数组里点击按钮后执行判断如果是第一张图片就换成第二张&#…

【OpenCV 例程200篇】54. OpenCV 实现图像二维卷积

【OpenCV 例程200篇】54. OpenCV 实现图像二维卷积 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 滤波通常是指对图像中特定频率的分量进行过滤或抑制。图像滤波是在尽可能保留图像细节特征的…

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 :disco…

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

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

Anaconda 安装 Python 库(MySQLdb)的方法

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

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

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

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

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

数据只读且无法修改

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

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

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

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

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

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

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

IDEA包的分层显示

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

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

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

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

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

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

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

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

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

部门信息管理系统

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

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

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

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

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

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

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