Python3学习(3)--基础篇

任何一门编程语言,学起来都是由简单到复杂,再由复杂到深入(精),不是重在参与,而是贵在坚持。

简单的部分就是基础部分,涉及数据类型、变量、数学运算(+ - *  / )、简单的输入输出I/O操作,条件语句、循环语句等,虽然是基础,理解起来和其他语言差不了多少,语法都是相通的,前提是你至少掌握了一门面向对象的语言。

一、数据类型

(1)整数    :1,10,20,-12,0

(2)浮点数:1.35,-2.2561,0.0

(3)字符串:"abc" , 'Hello World' ,‘123hjk’  

【1】字符串的格式方法:当我们在不知道字符串值走向的情况下去组合一个字符串,就要用到占位符%实现,后面跟数据类型,常见的有

%d 整数
%f 浮点数   --> 需要保留小数位个数的 可以用 %.nf  n代表保留小数的位数
%s 字符串
%x 十六进制整数


注意:

A.当有一个占位符,后面格式是 %紧跟对应的值,可以不用带(),且值必须与占位符所表示的数据类型保持一致,否则会出错

B.当有多个占位符,后面格式是%紧跟(),括号里面依次填入对应占位符的值,二者类型保持一致。


字符    :‘a' ,'2'     --其实 单引号 和 双引号 里面的内容都表示的是字符串,只不过习惯上称单个字符组成的字符串叫做字符,表示只有一个字符

【2】获得字符串的长度,len()函数,参数为字符串,返回值int


注意:既然是长度,就不考虑字符在内存中所在的字节数,因此,一个中文长度也是1,空格和其他字符都是1,一视同仁!

(4)布尔值:True 和 False,注意大小写,Python是区分大小写的,另外,默认1是True,0是False,其他情况下,非0的数是True,我们用整数1来表示True,0来表示False。



二、变量

java中,我们定一个变量,需要什么要素的:

a.变量类型

b.变量名称

c.变量不管用不用,养成好的习惯,初始化变量值

比如,定义一个整形变量age来表示年龄,并给定一个初值,18

int age = 18; //分号结束

但是,在python中,定义一个变量只需要上面提到的b和c,这就意味着,变量所属的类型是动态的,你给它什么值,它就是这个值对应所属的类型:

比如,我们定义一个"万能"变量All,我们给它设定N个不通的值,显示并看效果:





三、数学运算(+ - *  / // % )

这里我只讲一下 除法:

A. /:结果是一个带有小数位的float浮点数

B. //不管除尽除不尽,我只要整数部分,得到的结果是一个整形

C. %: 求余运算,得到两数除后的余数


四、简单的输入输出I/O操作 And 条件语句

Input输入    -->  函数input() 获得用户输入,不管你输入的是什么值,统一返回字符串类型,所以操作接收输入值的变量要做对应的类型转换

Output输出 --> 函数print()  输出你想要的,解释器能做到的。

条件语句: if:..else  或者 if..elif..elif... 满足条件的和不满足条件的

练习一个小例子,结合用户输入的身高和体重,我们来算一下BMI指数,并对这个指数进行胖瘦级别鉴定

#print absolute value of integer
# coding:utf-8 
h = input('请输入您的身高:')
w = input('输入体重:')

h=float(h)#身高和体重都需要 转换为浮点数
w=float(w)

#bmi指数计算公式=体重(公斤)除身高(米)的平方 Kg/m2
# ** 表示幂运算 2**3 表示 2*2*2=8
bmi =round(w/(h**2),1) #round(fnum,n)函数表示浮点数fnum四舍五入后小数点取n位,注意round(3.15,1)=3.1

#  冒号: 代表一个代码块,代码块里面的代码要被执行,必须加缩进,一个tab键,否则无效
#  不要出现begin...end,{...} ,记住 : : :不要漏掉
if bmi<18.5:
	print("你的身高:%s,体重:%s,bmi = %.1f" %(h,w,bmi))
	print('过轻')
elif bmi>=18.5 and bmi<=25:
	print("你的身高:%s,体重:%s,bmi = %.1f" %(h,w,bmi))
	print('正常')
elif bmi>25 and bmi<=28:
	print("你的身高:%s,体重:%s,bmi = %.1f" %(h,w,bmi))
	print('过重')
elif bmi>28 and bmi<=32:
	print("你的身高:%s,体重:%s,bmi = %.1f" %(h,w,bmi))
	print('肥胖')
elif bmi>32:
	print("你的身高:%s,体重:%s,bmi = %.1f" %(h,w,bmi))
	print('严

以上,保存为test.py文件,注意文件的编码方式选择UTF-8,下面我用Python解释器"翻译"一下,看看效果



五、循环语句


A. for X in C:  -->X表示变量,C表示容器(抽象的理解)

简单的来个,求1+2+3+...+10的和,如果不用循环的话,我们需要一直从1写到10,如果从1加到1000呢?

先介绍一个函数,range(),可以生成一个整数序列,再通过list()函数可以转换为list(列表)

>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]


我们看到,这个有序序列的长度确实是10,但可能不是我们想要的从1开始,如何办呢?

>>> list(range(1,11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

这时候我们看到,是从1开始了,而且长度仍然是10 = 11-1,下面我们就结合一下for..in..来计算一下1+2+3...+10的和是多少

#!/usr/bin/env python3
# -*- encoding:UTF-8 -*-

sum = 0 #这里我们定义一个变量 来存我们求和的结果
for num in range(1,11):
	sum=sum+num;
print("∑1+2+3+...+10 = ",sum)

值应该是55,我们来看下执行的结果:


我们还可以遍历一个tuple元组里面的元素(后面会讲到tuple)


for..in..的用法,这里就不多讲了,下面再讲一个使用循环的方法

A. while 条件:  -->条件无外乎两种,一个True,一个False


同样,我们计算一下1+2+3+...+10的和是多少?

#!/usr/bin/env python3
# -*- encoding:UTF-8 -*-

num = 1 #数字从1开始
sum = 0 #存放求和后的结果

while num<=10: #当条件>10,循环终止
	sum=sum+num
	num=num+1  #跳数,sum每加一次,num跳1
print("∑1+2+3+...+10 = ",sum)


看一下结果,是不是和for..in..执行的结果一样呢?



基础篇,到这里就结束了,需要忠告的是:

一定要多看,多写,多练,多想,切记生搬硬造!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值