若有不正确之处,欢迎大神指正,小弟先行谢过啦。
一.Python条件语句
我们常听女生说,如果你真的爱我,那么你就要给我一辈子的幸福,如果你不爱我,那么你就做个安静的美男子吧。
以上的一句女生的话就体现出了我们在生活当中很多时候就会碰到抉择,那么在做决定前,是有个条件(前提)来说服自己去做那个决定。那么这种关系,在开发当中我们就称之为条件语句,也就是if .... else ...。
那么在Python当中,对于这种条件语句该如何进行编写呢?很简单,咋们来看下吧。
# !/usr/bin/env python
# -*- coding:utf8 -*-
if n == "真的爱我":
print("给我一辈子的幸福")
elif n == "不爱我":
print("做个安静的美男子")
else:
print("那你还有其他的选择么。。呵呵")
以上代码,就是条件语句的结构了。
与Java不一样的地方就是Python的 if 语句跟得是":"冒号结尾,而Java的if语句是一对花括号"{ }"结尾,还有就是在print()函数结尾语句不用使用";"分号进行结尾,这样显得Python代码更简洁。其中n是变量。在对比字符串是否相等的情况下Python是使用“==” 而Java是使用equals()方法。
还有就是在Python进入到底层C语言编译的时候,如果语句是n = "你好" print(n)是这样的话,那么其实变量n在C底层变异的时候是不存在的,而C语言就直接将变量n去掉了,直接会变为print("你好")。学底层深入研究的小伙伴们要注意啦。
这里还有一点必须要注意的是!!!
如果要执行多行代码块的时候,需要间隔的空格必须是相同的。什么意思呢?咋们来看看下面的这个代码你就知道了。
# !/usr/bin/env python
# -*- coding:utf8 -*-
n = input("输入值:")
if n == "1":
print("这里的print前面是4个空格")
print("这里的print前面也是4个空格")
else:
print("这里的print前面是2个空格")
print("这里的print前面也是2个空格")
运行结果
输入值:1
这里的print前面是4个空格
这里的print前面也是4个空格运行结果
输入值:2
这里的print前面是2个空格
这里的print前面也是2个空格
那么在代码块中,空格必须要一致,一般的,我们在为了防止出错,是使用 Tab 键进行对代码的空格进行控制,一次Tab键就是四个空格。如果不按照空格的一致标准,就会进行报错。错误提示如下:
File "e:\python_work\python\python1.py", line 20
print("这里的print前面也是2个空格")
^
TabError: inconsistent use of tabs and spaces in indentation
附加:①.如果在进行判断的时候,代码块也有判断,那么判断顺序是按照就近原则进行判断。
②.如果在进行判断的时候,以上面的代码为例:n == "1" 的时候,不想去做任何代码处理,当条件成立时,不做任何处理,那么就直接不写代码会怎么样呢?答案是会报错,编译器是不会允许这样做的。如果真的要写这样的话,那么该如何去解决这样呢?答案两种:第一,就是判断不等于的条件。第二,就是使用pass关键字来进行处理,代码如下:
# !/usr/bin/env python
# -*- coding:utf8 -*-
n = input("输入值:")
if n == "1":
pass
else:
print("这里的print前面是2个空格")
print("这里的print前面也是2个空格")
------------------------------------------------------------------------------------------------
讲到这里,可以给出个小示例啦。有这么一个小需求,用户根据提示输入用户名和密码,若用户名是root,密码为123,那么则判断登录成功,否则判断为登录失败,下面咋们来看看小示例的代码吧!
# !/usr/bin/env python
# -*- coding:utf8 -*-
name = input("请输入用户名:")
password = input("请输入密码:")
if name == "root" and password == "123":
print("登录成功")
else:
print("登录失败")
二.基本数据类型
稍作休息....晚点更新.....
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
回来了,接下来我们继续吧。
字符串
对于字符串来说,与Java不一样,Python有多种表达方式来表达字符串。如:
- name = "这是一个字符串"
- name = '这也是一个字符串'
- name = """这还是一个字符串"""
- name = '''你猜这个是不是字符串呢?当然也是啦。'''
通过以上表述,我们看到,字符串都是使用引号去标识的,那么在python当中,是可以用多个引号进行去标识的字符串的,但是仅仅限于以上表达,那么会有同学问,""" 像这样算不算一个字符串呢?' 答案是否定的。字符串两边的引号必须要一致,并且只有以上四种情况。
接下来我们再看,想着字符串是否有像Java中的字符串相加的情况呢?那是肯定有的啦。Python字符串不仅有加法,还有乘法呢。有不有点惊奇呢?往下看。。。
# !/usr/bin/env python
# -*- coding:utf8 -*-
n1 = "你好"
n2 = "吗?"
n3 = n1 + n2
print(n3)
print("---------------------------------------")
n1 = n1 * 10
print(n1)
那么以上的结果是
你好吗?
---------------------------------------
你好你好你好你好你好你好你好你好你好你好
由此看出,字符串相加是可以的,跟Java的是一样的,但是注意了,发现有个字符串相乘的情况,这个就是Python独特特有的,那就是当字符串乘以相关的数字,那么就代表这个字符串重复多少次。以上就是n1字符串(你好)重复了10次。
注意啦,虽然字符串有加法和乘法,但是字符串是没有减法和除法的!
数字
再看看关于数字的一些运算,那么就会有加减乘除啦,一起来看看吧。
注意:数字转换为字符串可以使用str(number),字符串转换为整型数字可以使用int(str)。
# !/usr/bin/env python
# -*- coding:utf8 -*-
n1 = 36
n2 = 7
n3 = n1 + n2
n4 = n1 - n2
n5 = n1 * n2
n6 = n1 / n2
n7 = n1 % n2
n8 = n2 ** 2
n9 = n1 // n2
print("求值:n1 + n2 = " + str(n3))#注:数字要想与字符串拼接,可借助str(number)函数进行转换
print("求值:n1 - n2 = " + str(n4))
print("求值:n1 * n2 = " + str(n5))
print("求值:n1 / n2 = " + str(n6))
print("求余数:n1 % n2 = " + str(n7))
print("求方(幂):n2 ** 2 = " + str(n8))
print("求商:n1 // n2 = " + str(n9))
运行结果为:
求值:n1 + n2 = 43
求值:n1 - n2 = 29
求值:n1 * n2 = 252
求值:n1 / n2 = 5.142857142857143
求余数:n1 % n2 = 1
求方(幂):n2 ** 2 = 49
求商:n1 // n2 = 5
以上加减乘除是与平常我们数学上的没什么区别,但是要注意的是,发现有 ** 两个星号以及 // 两个斜杠是什么意思呢? 是不是打错了呢? 其实没有打错,两个星号是对乘数求次方,也就是求幂,例如,2 ** 3 那么这个意思是求2的3次幂,结果就是8。而对于 // 两个斜杠则是对数字的求商,也就是在相除后,发现有可能会有小数,那么这个商代表了不是小数的商。
================================================================================================
好啦,通过以上的了解,咋们现场来个小示例吧。规定是n1=13,使用python编码,来判断n1是偶数还是奇数呢?赶紧来看看吧。
# !/usr/bin/env python
# -*- coding:utf8 -*-
n1 = 13
temp = n1 % 2
if temp == 0:
print("偶数")
else:
print("奇数")
答案是 奇数
这节就写到这里啦。。下期见。。 [email protected]