zoukankan      html  css  js  c++  java
  • Python基础学习篇(二)

    学习教材采用图灵程序设计丛书《Python编程从入门到实践》

    今日的学习内容概括为if语句的使用(包括一些条件判断),字典即其相关操作,用户输入,while循环的相关操作,以及函数的使用和操作。

    if语句和一些条件测试:

    #if语句的使用方法
    cars=['aa','bb','cc']
    for car in cars:
        if car=='aa'or car in ['ab','ba','ac']:#or相当于||
            print('car is aa')
        elif car=='ab' and car in ['ab','ba','ac']:#and相当于&&
            print('car is bb')
        else:
            print('car is other')
    #条件测试
    print('aa' in cars)#判断'aa'是否属于列表cars中
    print('ab' not in cars)#判断‘ab’是否不属于列表cars中
    abc=[]
    if abc:#判断列表是否为空
        print('abc is not None')
    else:
        print('abc is None')

    字典即相关操作:

    #字典(有点像javaScript里的object?)
    abc={}#一个空字典
    print(abc)
    abc['aa1']=1#增加字典中的元素
    print(abc)
    for value in range(2,10):
        abc['aa'+str(value)]=value
    print(abc)
    del abc['aa3']#删除字典中的元素
    print(abc)
    abc['aa1']=10#修改字典中的元素
    print(abc)
    
    #遍历字典
    for key,value in abc.items():#完整遍历关键字(Key)和值(value)所以需要两个变量(key,value,可任意定义),.items()方法将abc字典转化成列表
        print(key)
        print(value)
        print()
    #遍历字典中的键
    for key in abc.keys():
        print(key+'
    ')
    #对键尽心排序,虽然这个例子输出的键-值队列是有序的,但是其他就不一定了
    for key in sorted(abc.keys(),reverse=True):
        print(key)
    #遍历字典的值
    for value in abc.values():
        print(value)
    abc['aa5']=6
    #键必须是唯一,但值可以有重复,如果要获得的是不重复的值,可以用集合函数set()
    for value in set(abc.values()):
                    print(value)
    #嵌套:字典中储存列表,字典中储存字典,列表中储存字典等等,不累述

    用户输入,以及数字类型的转化:

    #用户输入
    name=input('please enter your name: ')#input获得的是字符串形式变量
    print('hello, '+name+' !')
    age=input('how old are you: ')
    age=int(age)#转化成数字(整数)类型
    print(age)

    while循环的使用即相关操作(while循环区别于for循环争对集合中每一个元素的操作,while循环会不停的执行指导指定的条件满足为止):

    #while循环
    x=7
    while x>=5:
        if x>15:
            break#跳出循环
        print('first')
        if x<10:
            x=x+1
        else:
            x=x+2
            continue#跳过下面的语句
        print('x = '+str(x))
    
    cats=['aa','bb','cc']
    cats1=[]
    while cats:#只要cats列表不为空就可以继续执行
        cats1.append(cats.pop())
    print(cats1)
    for i in range(1,10):
        cats.append('hahaha')
    print(cats)
    count=0
    while 'hahaha' in cats:
        cats.remove('hahaha')
        count=count+1
    print('the count = '+str(count)+' cats is '+str(cats))
    
    for value in range(1,11):#break和continue在for循环中也可以使用
        if value>5:
            break
        elif value>3 and value<=5:
            continue
        else:
            print('test ...: '+str(value))

    函数即相关注意点:

    #函数
    #形参中,没有默认值的参数要放在前面,有默认值的参数放在后面
    #而且一旦确定默认值的类型那么该参数的类型就确定了,即如果实参中传递的参数类型不符合则会报错
    def test1_fun(x4,x5,x1='hello',x2='hi',x3=5):
        print(x1+' '+x2+' '+str(x3))
        print('x4 is '+str(x4)+' x5 is '+str(x5))
        return x1+str(x4)#返回值
    
    test1_fun(3,2,'5')#实参如果没有带参数名则参数的位置默认一一对应形参,而且如果形参中有默认值的实参也可以不输入
    test1_fun(x1='hhh',x2='hahaha',x3=9,x4=0,x5='not')#实参如果指明参数名则位置不重要
    print(test1_fun(5,3,'haho','kk'))
    
    x=[5,4,3]
    print(x)
    def fun1(x):#当函数的传递参数是列表中,在函数中修改列表,那么列表本身也会改变
        x[0]=4
        return x
    fun1(x)
    print(x)
    x={'first':5,'second':4,'third':3}
    print(x)
    def fun2(x):#但是字典不会修改
        x['second']=4
    print(x)
    
    #传递任意数量的参数
    def fun3(size ,*num):#*nun可接受任意数量实参,因为都把他们封装在一个名为num的空元组里,但是如果有其他具体参数必须放在前面
        print(size)
        print(str(num)+'
    ')
    fun3(5,'12')
    fun3(6,'15','17',19)
    
    #使用任意数量的关键字实参
    def fun4(size,**test):
        t={}
        t['size']=size
        for key,value in test.items():
            t[key]=value
        print(t)
    fun4(5,aa=4,bb=3,cc=2)
  • 相关阅读:
    BZOJ 3677: [Apio2014]连珠线 树形DP
    TweenMax说明
    vs 中快捷实现父类方法
    Box2d b2World的RayCast方法
    cocos2d-js 帧序列动画
    cocos2d-js 显示帧序列图中的一帧
    不同类型刚体接触测试
    FlashDevelop调试Air出错
    php 创建删除数据库
    本地php 连接 MySQL
  • 原文地址:https://www.cnblogs.com/SixteenTime/p/13504604.html
Copyright © 2011-2022 走看看