python 基础(三)

python 运算(布尔值,自增,比较,逻辑)
python 流程控制
python 推导式
深度拷贝

python运算
    布尔值:
        True    非0的数字,非空的字符串,列表,元素,字典
        False   0 "" () [] {} None
    自增运算:
        var int i 
        i = 0 ,i < 10
        i++
        i += 1
        #其他语言出现的循环

    逻辑运算
        布尔值可以用逻辑运算符and(且);or(or);not(非)来运算
            and(与),所有条件符合才为True
                    >>> True and True
                    True
                    >>> True and False
                    False
                    >>> False and False
                    False
            or(或)运算,只要其中有一个为True都为True
                    >>> True or False
                    True
                    >>> True or True
                    True
                    >>> False or False
                    False
            not(非)运算
                    >>> not True
                    False
                    >>> not False
            
>>> username = 'shuai'
>>> password = '123'
>>> username == 'shuai' and password == '123'
True

                    True
            空值;
                空值为None
                None不能理解为0;0是有意义的,None是一个特殊的空值
            变量;
                变量必须是大小写字母,数字和_的组合

自增运算
    其他语言的自增运算
        var int i 
            i = 0
            i++     等同后面的i = i + 1
        printf(i)

    在python中
        i = 10
        i += 1      等同 i = i + 1
        i += 2      等同 i = i + 2
        i -= 1      等同 i = i - 1
        i *= 1      等同 i = i * 1
        i /= 1      等同 i = i / 1

比较(关系)运算符
    python中的比较运算符如下表
    
    == 
    检查两个操作数的值是否相等,如果是则条件 变为真。 
    如a=3,b=3则( a == b) 为 True. 
    
    != 
    检查两个操作数的值是否相等,如果值不相等, 则条件变为真。 
    如a=1,b=3则(a != b) 为 True. 
     
    <>  只在python2中存在,python中已经取消了
    检查两个操作数的值是否相等,如果值不相等, 
    则条件变为真。Python和在Pascal等特有方式,java和c没有,在Python3中废弃了 
    如a=1,b=3则(a <> b) 为 True。 这个类似亍 != 运算符 
    
    > 
    检查左操作数的值是否大亍右操作数的值,如 果是,则条件成立。 
    如a=7,b=3则(a > b) 为 True. 
    
    < 
    检查左操作数的值是否小亍右操作数的值,如 果是,则条件成立。 
    如a=7,b=3则(a < b) 为 False. 
    
    >= 
    检查左操作数的值是否大亍戒等亍右操作数的 值,如果是,则条件成立。 
    如a=3,b=3则(a >= b) 为 True. 
    
    <= 
    检查左操作数的值是否小亍戒等亍右操作数的 值,如果是,则条件成立。 
    如a=3,b=3则(a <= b) 为 True. 

比较运算
    >>> 1 > 0
    True
    >>> 1 < 0
    False
    >>> 1 == 1.0
    True
    >>> 1 >= 1.0
    True
    >>> 1 <= 1.0
    True
    >>> 1 != 1.0
    False
    >>> 1 <> 1.0
    SyntaxError: invalid syntax
    >>> 1 is 1.0
    False
    >>> print(id(1),id(1.0))
    140728753611408 2998816717992
    >>> 1 is 1
    True

逻辑运算符
    and 
    x and y 
    布尔"不" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 
    那如果 x 总为 False 呢? 
    
    or
     x or y 
    布尔"或" - 如果 x 是 True,它返回 True,否 则它返回 y 的计算值。 
    那如果 x 总为 True 呢? 
    
    not
     not x 
    布尔"非" - 如果 x 为 True,返回 False 。如 果 x 为 False,它返回 True。 
        
        >>> True or False and False
        True
            如果先算or就会输出:False,所以and > or
        >>> not False and False
        False
            如果先not就会输出True
        >>> not False or True
        True
            如果先or就会输出False
        >>> True or False
        True
        >>> False or True
        True
运算顺序 not  and  or   非且或

python 流程控制
        流程控制 个别的指令(或是陈述,子程序)运行或求值的顺序
        python代码正常情况下执行的顺序是从左到右,从上到下的,但也有不是这样的
        语句A--->>语句B----->>语句C

    if 判断语句
    for循环语句
    while 循环语句
    python是靠冒号和缩进来确定代码的归属的

if 判断语句
    执行顺序
    if  elif  else

            a = float(input('输入一个数字:'))
            if a == 1:
                print('shuai')
            elif a == 5 :
                print('ge')
            else:
                print('%d is not 5 and 1'%(a))

            输入一个数字:10
            10 is not 5 and 1

if 判断要注意的点
    注意判断的范围,判断条件范围大的要放在下面
            a = int(input('输入:'))
            if a < 10:
                print('%d 小于10'%(a))
            elif a < 5:
                print('%d 小于5'%(a))
            else:
                print('%d 大于10'%(a))    注意%d 大于10'  中间不要,  %(a)


            输入:8
            8 小于10

    区分if elif 和 if if 的区别

        判断两种可能,
            a = int(input('shuru:'))
            if a < 15:
                print(int(a),'< 15')
            elif a < 20:
                print(int(a),'< 20')
            else:
                print(none)
                

                shuru:19
                19 < 20

        判断两次,先判断是否满足a ,再判断是否满足B,
            >>> 
            '''
            a = 10
            if a < 15:
                print('a < 15')
            if a < 20:
                print('a < 20')
                
            a < 15
            a < 20
for循环语句
    其他语言
            for (var int i,i < 3,i++){
                print("nice")
            }           
    python 当中采用的是for in结构

    for in 
    #i是一个变量
    #‘abcd’是可迭代对象
    #将‘abcd’依次赋值给i每次赋值作为一次循环
    
            for i in 'abcd':
                print(i,end='\t')
                print('hello word')
                

                a   hello word
                b   hello word
                c   hello word
                d   hello word
                 
    嵌套循环
        外层循环一次
        内层循环一遍
        for i in 'abcd':
             print(i)
             for j in range(2):
                print(j)
            

                a
                0
                1
                b
                0
                1
                c
                0
                1
                d
                0               
打印乘法口诀表
        for i in range(10):
            for m in range(1,i+1):
                sum = i*m
                if m < i:
                    print(m,'*',i,'=',sum,end='')
                else:
                    print(m,'*',i,'=',sum)

while循环语句
    while循环,while循环和for循环不同,for循环是一个广度遍历,而while循环式一个深度遍历
    while循环,指当满足while的条件的时候,就一直循环执行while的语句块,直到不满足
    a = 0
    while a < 10:
        print (a)
        a += 1
0
1
2
3
4
5
6
7
8
9


a = 0
while a < 10:
    print (a)
    a += 1
else:
    print('shutdown')



0
1
2
3
4
5
6
7
8
9
shutdown
>>>      


死循环会阻碍程序的运行
死循环多数用于图形化,游戏等可视化的主循环
列如:
a = 0
while a < 100:
    print('down')


三种流程控制语句
    
    pass ,pass 
    写在任何缩进的语句块部分,只是占位,什么事情都不做,只是未来满足python的语法要求

for i in range(5):      #不加pass会报错,
    if i == 2:
        pass
    print(i)

0
1
2
3
4

    break 跳出上一层循环
for i in range(5):
    if i == 2:
        break
    print(i)


0
1   


    continue跳出本次循环

for i in range(5):      #直接跳过了2这个循环
    if i == 2:
        continue
    print(i)


0
1
3
4
>>> 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,076评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,658评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,732评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,493评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,591评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,598评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,601评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,348评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,797评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,114评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,278评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,953评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,585评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,202评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,180评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,139评论 2 352

推荐阅读更多精彩内容