Python从入门到精通

Python从入门到精通_第1张图片
图片.png

列表(list)

列表非常适合用于存储在程序运行期间可能变化的数据集。

  1. 基础操作:
    list = [ ]
    append('hello')
    insert(0,'hello')
    del list[0]
    list.pop() //pop出最后一个元素
    list.remove('hello')
    list.sort() //永久性排序
    list.sorted() //临时性排序
    list.reserve()
    len(list)
    IndexError: list index out of range //下标越界
  2. 进阶操作:
    遍历 for i in list: //冒号别忘
    numbers = list(range(1,6)) even_numbers = list(range(2,11,2)) //用range函数创建列表
    min(list) max(list) sum(list)
    列表解析:squares = [value**2 for value in range(1,11)] //更快捷的创建列表
    列表切片:list[1:4] list[-3:] //列表后三个元素
    列表复制:深拷贝:friend_foods = my_foods[:] 浅拷贝:firiend_foods = my_foods

元组

Python将不能修改的值称为不可变的,而不可变的列表被称为元组。
相比于列表,元组是更简单的数据结构。如果需要存储的一组值在程序的整个生命周期内都
不变,可使用元组。

  1. 基础操作:
    tuple = (200,50)
    tuple[0]
    遍历:for i in tuple:
    修改元组可以重新赋值:tuple = (400,20)

小知识:

  1. 编写Python改进提案(Python Enhancement Proposal,PEP),比较普遍的是PEP8,可以认为是行业规范

IF语句

  1. === != 的区别,python区分大小写
  2. and or 连接两个条件,建议各个条件用()分割
  3. 检查特定值是否再列表中 if 'hello' in list: if 'hello' not in list:
  4. 布尔True False
  5. if-elif-else结构:else可以省略
if age < 4:
  print("Your admission cost is $0.")
elif age < 18:
  print("Your admission cost is $5.")
else:
  print("Your admission cost is $10.")

字典

  1. 创建使用:
alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])
  1. 添加键值对:
    键—值对的排列顺序与添加顺序不同。 Python不关心键—值对的添加顺序,
    而只关心键和值之间的关联关系。
alien_0['x_position'] = 0
  1. 修改字典里的值:
alien_0['color'] = 'yellow'
  1. 删除:
 del alien_0['points']
  1. 遍历:
    for k, v in user_0.items(): 遍历所有
    for name in favorite_languages.keys(): 遍历所有的key
    for name in sorted(favorite_languages.keys()):按顺序遍历所有的键
    for language in favorite_languages.values():遍历所有值
    for language in set(favorite_languages.values()):遍历所有值,除重复
  2. 嵌套:列表,字典的包含与被包含:
favorite_languages = {
'jen': ['python', 'ruby'],
'sarah': ['c'],
'edward': ['ruby', 'go'],
'phil': ['python', 'haskell'],
}

用户输入和while循环

  1. 用户输入:
message = input("Tell me something, and I will repeat it back to you: ")
print(message)

2.求模运算:%

函数

  1. 实参与形参:
    def greet_user(username) def greet_user("hello")
  2. 形参默认值:
    describe_pet(pet_name='willie')
  3. 让实参变成可选:
def get_formatted_name(first_name, last_name, middle_name=''):
"""返回整洁的姓名"""
  if middle_name:
    full_name = first_name + ' ' + middle_name + ' ' + last_name
  else:
    full_name = first_name + ' ' + last_name
musician = get_formatted_name('jimi', 'hendrix')
  1. 在函数中修改列表,在函数中对这个列表所做的任何修改都是永久性的,这让你能够高效地处理大量的数据。
  2. 传递任意数量实参:
def make_pizza(*toppings):
"""打印顾客点的所有配料"""
print(toppings)
make_pizza('pepperoni')
make_pizza('mushrooms', 'green peppers', 'extra cheese')

其中toppings是一个元组

  1. 结合使用位置实参和任意数量实参:
def make_pizza(size, *toppings):
"""概述要制作的比萨"""
print("\nMaking a " + str(size) +
"-inch pizza with the following toppings:")
for topping in toppings:
print("- " + topping)
make_pizza(16, 'pepperoni')
make_pizza(12, 'mushrooms', 'green peppers', 'extra cheese')
  1. 使用任意数量的关键字实参:
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)

形参**user_info中的两个星号让Python创建一个名为user_info的空字典,并将收到的所有名称—值对都封装到这个字典中。在这个函数中,可以像访问其他字典那样访问user_info中的名称—值对。

  1. 将函数存储在模块中,as重命名

你可能感兴趣的:(Python从入门到精通)