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+'\n')
#对键尽心排序,虽然这个例子输出的键-值队列是有序的,但是其他就不一定了
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)+'\n')
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)

 

你可能感兴趣的:(Python基础学习篇(二))