python基础04——运算+if判断

可变和不可变类型

可变类型:值改变,id不变,证明改的是原值,证明原值是可以被改变的

不可变类型:值改变,id也变了,证明是产生新的值,压根没有改变原值,证明原值是不可以被修改的

1 int是不可变类型
x=10
print(id(x))
x=11                                                               # 产生新值
print(id(x))

2 float是不可变类型
x=3.1
print(id(x))
x=3.2
print(id(x))

3 str是不可变类型
x="abc"
print(id(x))
x=‘gggg‘
print(id(x))

>>>>>小结:int、float、str都被设计成了不可分割的整体,不能够被改变

4 list是可变类型
l=[‘aaa‘,‘bbb‘,‘ccc‘]
print(id(l))
l[0]=‘AAA‘
print(l)
print(id(l))

5 dict

定义:{}内用逗号分隔开多key:value,
# 其中value可以是任意类型
# 但是key必须是不可变类型

dic={‘k1‘:111,‘k2‘:222}
print(id(dic))
dic[‘k1‘]=3333333333
print(dic)
print(id(dic))

6 bool不可变

条件语句

什么是条件?什么可以当做条件?为何要要用条件?

一、第一大类:显式布尔值
1 条件可以是:比较运算符
age = 18
print(age > 16)                                                       # 条件判断之后会得到一个布尔值

2 条件可以是:True、False
is_beautiful=True
print(is_beautiful)

二、第二大类:隐式布尔值,所有的值都可以当成条件去用

其中0、None、空(空字符串、空列表、空字典)=》代表的布尔值为False,其余都为True

逻辑运算符

一:not、and、or的基本使用

not:就是把紧跟其后的那个条件结果取反
ps:not与紧跟其后的那个条件是一个不可分割的整体
#print(not 16 > 13)
# print(not True)
# print(not False)
# print(not 10)
# print(not 0)
# print(not None)
# print(not ‘‘)

and:逻辑与,and用来链接左右两个条件,两个条件同时为True,最终结果才为真(一假即假)
print(True and 10 > 3)

print(True and 10 > 3 and 10 and 0) # 条件全为真,最终结果才为True
print( 10 > 3 and 10 and 0 and 1 > 3 and 4 == 4 and 3 != 3)                              # 偷懒原则

or:逻辑或,or用来链接左右两个条件,两个条件但凡有一个为True,最终结果就为True(一真即真)
两个条件都为False的情况下,最终结果才为False
print(3 > 2 or 0)
print(3 > 4 or False or 3 != 2 or 3 > 2 or True)                                                     # 偷懒原则

二:优先级not>and>or

如果单独就只是一串and链接,或者说单独就只是一串or链接,按照从左到右的顺讯依次运算即可(偷懒原则)
如果是混用,则需要考虑优先级了

res=3>4 and not 4>3 or 1==3 and ‘x‘ == ‘x‘ or 3 >3
print(res)

#      False                  False        False
res=(3>4 and (not 4>3)) or (1==3 and ‘x‘ == ‘x‘) or 3 >3
print(res)

res=3>4 and ((not 4>3) or 1==3) and (‘x‘ == ‘x‘ or 3 >3)
print(res)

成员运算符 in
print("egon" in "hello egon")                                        # 判断一个字符串是否存在于一个大字符串中

print("e" in "hello egon")                                               # 判断一个字符串是否存在于一个大字符串中

print(111 in [111,222,33])                                              # 判断元素是否存在于列表

# 判断key是否存在于字典
print(111 in {"k1":111,‘k2‘:222})
print("k1" in {"k1":111,‘k2‘:222})

not in
print("egon" not in "hello egon")                                    # 推荐使用
print(not "egon" in "hello egon")                                    # 逻辑同上,但语义不明确,不推荐

身份运算符 is
is                    判断的是id是否相等

流程控制之if判断

print(1)
print(2)
print(3)
if 条件:
  代码1
  代码2
  代码3
print(4)
print(5)

‘‘‘
语法1:
if 条件:
  代码1
  代码2
  代码3

‘‘‘
age = 60
is_beautiful = True
star = ‘水平座‘

if age > 16 and age < 20 and is_beautiful and star == ‘水平座‘:
print(‘我喜欢,我们在一起吧。。。‘)

print(‘其他代码.............‘)

‘‘‘
语法2:
if 条件:
  代码1
  代码2
  代码3
else:
  代码1
  代码2
  代码3
‘‘‘

age = 60
is_beautiful = True
star = ‘水平座‘

if age > 16 and age < 20 and is_beautiful and star == ‘水平座‘:
print(‘我喜欢,我们在一起吧。。。‘)
else:
print(‘阿姨好,我逗你玩呢,深藏功与名‘)

print(‘其他代码.............‘)

‘‘‘
语法3:
if 条件1:
  代码1
  代码2
  代码3
elif 条件2:
  代码1
  代码2
  代码3
elif 条件2:
  代码1
  代码2
  代码3
‘‘‘
score=73
if score >= 90:
print(‘优秀‘)
elif score >= 80 and score < 90:
print(‘良好‘)
elif score >= 70 and score < 80:
print(‘普通‘)

# 改进

score = input(‘请输入您的成绩:‘)                            # score="18",输出str

score=int(score)                                                       #字符串化成整型

if score >= 90:
print(‘优秀‘)
elif score >= 80:
print(‘良好‘)
elif score >= 70:
print(‘普通‘)

‘‘‘
语法3:
if 条件1:
  代码1
  代码2
  代码3
elif 条件2:
  代码1
  代码2
  代码3
elif 条件2:
  代码1
  代码2
  代码3
...
else:
  代码1
  代码2
  代码3
‘‘‘
score = input(‘请输入您的成绩:‘) # score="18"
score=int(score)

if score >= 90:
print(‘优秀‘)
elif score >= 80:
print(‘良好‘)
elif score >= 70:
print(‘普通‘)
else:
print(‘很差,小垃圾‘)
print(‘=====>‘)

if嵌套if (双重条件语句)

age = 17
is_beautiful = True
star = ‘水平座‘

if 16 < age < 20 and is_beautiful and star == ‘水平座‘:
print(‘开始表白。。。。。‘)
is_successful = True
if is_successful:
print(‘两个从此过上没羞没臊的生活。。。‘)
else:
print(‘阿姨好,我逗你玩呢,深藏功与名‘)

print(‘其他代码.............‘)

原文地址:https://www.cnblogs.com/lucky-cat233/p/12430972.html

时间: 2024-07-29 15:29:29

python基础04——运算+if判断的相关文章

python基础04 运算

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 1+9        # 加法 >>>print 1.3-4      # 减法 >>>print 3*5        # 乘法 >>>print 4.5/1.5   

python基础04

python基础04 python2在编译安装时,可以通过参数 -----enable----unicode=ucs2 或 -----enable--unicode=ucs4 分别用于指定使用2个字节,4个字节表示一个Unicode字符.python3无法进行选择,默认使用usc4. 查看当前python中表示Unicode字符串时占用的空间: import  sys   print(sys.maxunicode) #如果值是65535,则表示使用usc2标准,即:2个字节表示 #如果值是111

python基础04/基础数据类型补充/以后会遇到的坑/二次编码

python基础04 内容大纲 基础数据类型补充 以后会遇到的坑 二次编码 1.基础数据类型补充 1.1 字符串(str) str: 不可变 1.1 首字母大写: # name = "alex" # name1 = name.capitalize() # print(name1) 1.2 每个单词首字母大写 # name = "alex wusir" # print(name.title()) 1.3 大小写反转 # name = "Alex"

Python基础-条件语句(判断)

Python条件语句  python中的条件语句和其他语言中的条件语句一样都是通过if...else或者if...elif...else这样的方式实现的,他们的实现方式是通过一条或者多条的执行结果(真(True)或者假(False))来决定执行的代码块的. 下面这张图简单的描述了一下执行的流程: python中指定任何非0或者非空(null)的值为True,指定任何0或者空(null)的值为False python在代码中if判断语句的执行方式或者说是if的语法形式为: if 需要判断的条件:

python基础(四)运算

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Python的运算符和其他语言类似 (我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍) 数学运算 >>>print 1+9        # 加法 >>>print 1.3-4      # 减法 >>>print 3*5        # 乘法 >>>print 4.5/1.5   

python基础-三元运算和bytes数据

三元运算     进制 二进制,01 八进制,01234567 十进制,0123456789 十六进制,0123456789ABCDEF bytes类型 http://www.cnblogs.com/txw1958/archive/2012/07/19/2598885.html Python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.Python 3不会以任意隐式的方式混用str和bytes,正是这

python基础5 if-else流程判断,for循环和while循环

本节主要内容: if-else流程判断 for循环 while循环 参考网页 if-else流程判断 if 语句概述 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现: age = 20 if age >= 18: print 'your age is', age print 'adult' print 'END' 注意: Python代码的缩进规则.具有相同缩进的代码被视为代码块,上面的3,4行

python基础-数据运算

*按位取反运算规则(按位取反再加1)   详解http://blog.csdn.net/wenxinwukui234/article/details/42119265 详细内容http://www.runoob.com/python/python-operators.html <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;&q

python 基础 三元运算等

---恢复内容开始--- 基本数据类型: set:是一个不重复且无序的集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object           Build an unordered collection of unique elements.     """     def add(self