Python基础语法

Python学习笔记

一、列表

假设列表为list

1.列表操作

  • list.append(elem) 尾插元素
  • list.insert(i,elem) i号位置插入元素
  • list.pop(i)弹出i号元素,并返回;没有i,默认弹出尾元素
  • list.remove(elem)弹出指定元素;无返回
  • del list[i] 删除元素
  • list[i]=elem 修改元素
  • list[i:j] 访问i到j号元素(不包含j)
  • list.sort() 按字典序排序
  • list.sort(reverse=True) 按字典反序排序
  • sorted(list) 对列表临时排序(不改变原有顺序)
  • len(list) 获取列表长度(元素个数)
  • list.reverse() 使列表逆序

2.遍历列表

list=[‘AA’,‘111’,2,‘chen’]
for i in list:
 print(i)

i表示循环变量,in 后面接要遍历的列表,也可写作:

list=[‘AA’,‘111’,2,‘chen’]
for i in range(len(a)):
 print(list[i])

遍历部分列表:

list=[‘AA’,‘111’,2,‘chen’]
for i in range(i,j):#遍历i到j(不包含j位置)
 print(list[i])

list=[‘AA’,‘111’,2,‘chen’]
for i in list[i:j]:
 print(i) #切片

list=[‘AA’,‘111’,2,‘chen’]
for i in list[i:j:len]: #指定步长len
 print(i) #切片

注意:python语法中严格缩进,否则会出错,正是用缩进来控制代码块,使得整洁有序,就好像C/C++中的"{}"。还要注意for后面的":",不能遗漏。

3.数字列表

num=list(range(i,j)) #创建i到j的连续数字列表(不包含j)
num=list(range(i,j,len)) #指定步长为len
min(num) #获取数字列表最小值
max(num) #获取数字列表最大值
sum(num) #获取数字列表的总和

4.复制列表

a=[‘111’,‘aaa’,‘AAA’,‘BBB’,‘CCC’,‘DDDD’]
b=a #全部复制(形式复制,并没有得到两个列表)
b=a[:]#使用切片才能得到两个不关联的列表
b=a[i:j:len] #复制从i到j,步长为len(跟切片一样)

5.元组
  列表适合用于存储在程序运行中可能变化的数据集。列表是可修改的。Python将不能修改的值称为不可变的而不可变的列表被称为元组
  元组使用圆括号"()“标识,而列表使用方括号”[]"来标识,除了元组的元素不可修改外,对元组的遍历等和列表类似。元组也可以使用切片。
  虽然不可以修改元组元素,但可以对元组重新赋值,以新的值覆盖原来的值,如:

a=(100,200,300)
a=(300,200,100)

二、条件语句if

  有列表a=[11,22,‘sss’,‘aaa’,‘bbb’]

for i in a:
 if i==‘aaa’:
  print(i.upper())

上述代码是遍历判断列表中是否有字符串’aaa’,有就输出其大写形式。注意缩进和冒号":"
  判断语句i==‘aaa’,返回True或False
判断条件的写法:

  • if A==B: #若A=B
  • if A!=B: #若A!=B
  • if A and B:#A,B条件同时满足,也可写作if A&B:
  • if A or B:#A,B条件满足其一,也可写作 if A|B:
  • if str in a: #检查列表a中是否包含字符串str
  • if str not in a: #检查列表a中不包含字符串str
  • if-elif-else语句:多重判断条件(else可以省略)
  • if list:检查列表list是否为空

三、字典

1.定义
用大括号"{}",字典存储了相关的元素,一对相关元素之间用":"隔开,可以通过前面的元素索引后面的元素,前面的是,后面的叫键-值一一对应。例如:

a={1:2,‘AAA’:‘BBB’}
a[1]=2
a[‘AAA’]=‘BBB’

2.相关操作

  • 创建空字典:a={}

  • 添加 键——值 对:a[elem_key]=elem_value

  • 修改字典中的值:a[elem_key]=elem_value

    可以发现这里添加和修改方式是一样的,同时也说明一个键只能对应一个值

  • 删除 键——值 对:del a[elem_key]

3.遍历字典

  • 遍历键——值对:

    a={‘AAA’:‘BBB’,‘cc’:‘dd’}
    for key,value in a.items():
     print(“Key:”+key)
     print(“Value:”+value)
    注:遍历字典,键——值对的返回顺序也与存储顺序不同。Python不关心存储顺序,而只跟踪键和值之间的关联关系。

  • 遍历字典中的所有键:

    for k in a.keys():
     print(k.title())
    注:将a.keys()写成a也可以,系统默认遍历键.事实上,a.keys()会返回一个包含所有键的列表

  • 遍历字典中所有值:

    for v in a.values():
     print(v)
    for v in set(a.values()):#避免遍历重复项,用set函数

  • 按顺序遍历字典中所有键(值的遍历同理):

    a={‘AAA’:‘BBB’,‘cc’:‘dd’}
    for k in sorted(a.keys()): #临时排序
     print(k)

4.嵌套

  • 1.将系列字典存储到列表中,如:
    DA={‘A’:'B,‘C’:‘D’}
    DB={‘E’:‘e’,‘F’:‘f’,‘G’:‘g’}
    DC={‘X’:‘x’,‘Y’:‘y’}
    list=[DA,DB,DC]
  • 2.将列表存储到字典中:
    pizza={
    ‘curst’:‘thick’,
    ‘toppings’:[‘mushrooms’,‘extra cheese’]
    }
  • 3.将字典存储到字典中:
    . . . . . . ...... ......

四、用户输入和while循环

1.用户输入

  • 字符串输入:message=input(“提示输入信息”) #获取输入的字符串
  • 数值输入:
    num=input()
    num=int(num) #强制转换
    或者:
    num=int(input())

2.while循环

while 循环条件:
 循环体

  • 可以让用户选择何时退出:

    message=""
    while message!=退出标志字符串:
     message=input()
     执行操作

  • 可以使用break退出循环

    while True:
     if 退出条件:
      break

  • 使用continue结束本次循环

    while 循环条件:
     if 结束本次循环条件:
      continue

  • while循环遍历列表:

    list=[‘AAA’,‘BBB’,‘DDD’]
    while list: #当列表不空
     list.pop()

  • 删除列表中的特定值

    list=[‘AAA’,‘BBB’,‘DDD’]
    while ‘DDD’ in list:
     print(‘DDD’)
     list.remove(‘DDD’)

  • 使用用户输入来填充字典

    a={}
    flag=True
    while flag:
     key=input()
     value=input()
     a[key]=value
     if 退出条件:
      flag=False

五、函数

1.定义函数

  • 简单定义

    def function():
      函数体
    function() #调用函数
    定义部分的括号和冒号都不能少

  • 传递参数

    def function(username):
      print(username)
    function(‘Chen’)

  • 位置实参

    def function(a,b):
      print(a,b)
    function(‘aaa’,‘bbb’)
    注:所谓位置实参就是调用时参数的顺序和定义函数的参数顺序一致

  • 关键字实参

    关键字实参是传递给函数的 名称——值 对。直接在实参中将名称和值关联起来了,因此给函数传递实参时不会混淆。
    def function(a,b):
      print(a,b)
    function(a=‘AAA’,b=‘BBB’)

  • 给参数指定默认值

    def function(a,b=‘dog’):
      函数体
    注:使用默认形参时,在函数调用时就可以不用指定该参数的值

2.函数返回值

  • 返回简单值

    def function(a,b):
     s=a+b
     return s

  • 让实参变成可选

    有时候只需要一个参数,那么就可以让多余的参数指定其默认值为空串或空值,调用的时候就可以不传递多余的参数,然后在函数体里判断参数是否为空,进行不同的处理即可

  • 返回字典

    def function(a,b,c):
      p={‘A’:a,‘B’:b,‘C’:c}
      return p

3.传递列表

  • 假设有一个存储人名的列表,要写一个函数问候列表中的每一个人

    def greet(names):
     for name in names:
      print(‘Hello’+name)
    names=[‘zhang’,‘Wang’,‘Li’,‘Zhao’]
    greet(names)

  • 传递了列表以后,函数可以对列表进行修改,且这种修改时永久性的
  • 禁止修改列表:有时候我们只要结果,而要保留原来的列表,此时就要禁止对传递的列表进行修改,这时可向函数传递一个副本而不是原件,如:
    function(list_name[:]) #用切片的方式创建副本

4.传递任意数量的实参

  • Python允许函数从调用语句中收集任意数量的形参,如:

    def makepizza(*toppings):
      print(toppings)

    makepizza(‘pepperoni’)
    makepizza(‘mushrooms’,‘green peppers’,‘cheese’)
    调用结果:
    (‘pepperoni’,)
    (‘mushrooms’,‘green peppers’,‘cheese’)
    Python将实参封装在一个元组里,即便只接收一个值也是如此

  • 组合使用位置实参和任意数量实参

  • 使用任意数量的关键字实参

    有时候需要接收任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写为能够接收任意数量的 键——值 对,调用语句提供了多少就接收多少。一个这样的实例就是创建用户简介:你知道你将接收有关用户的信息,但不确定会是什么样的信息。在下面的示例中,函数build_profile()接收名和姓,同时还接收任意数量的关键字实参

    def build_profile(first,last,**user_info):
    “”“创建一个字典,其中包含我们知道的有关用户的一切”""
      profile={}
      profile[‘first_name’]=first
      profile[‘last_name’]=last
      for key,value in user_info.items():
        profile[key]=value
      return profile
    user_profile=build_profile(‘albert’,‘einstein’,
                              location=‘princeton’,
                              field=‘physics’)
    print(user_profile)

        函数build_profile()的定义要求提供名和姓,同时允许用户根据需要提供任意数量的名称——值对。形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称——值对都封装到这个字典中。在这个函数中,可以像访问其他字典那样访问user_info中的名称——值对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值