美文网首页
学习Python的第二天

学习Python的第二天

作者: 弹钢琴的崽崽 | 来源:发表于2020-03-22 15:01 被阅读0次

1. 基本语法

1.1 for循环

prices = [10,20,30]
total = 0
for price in prices:
    total += price
print(f"Total: {total}")

1.2 用嵌套for循环打印F

numbers = [5,2,5,2,2]
for x_count in numbers:
    output = ''
    for count in range(x_count):
        output += 'x'
    print(output)

1.3 找出列表中最大的数

numbers = [3,6,2,10,8,4]
max = numbers[0]
for number in numbers:
    if number > max:
        max = number
print(max)

1.4 矩阵

matrix = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
for row in matrix:
    for item in row:
        print(item)

1.5 列表API

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型,但最常见的是列表和元组。

序列都可以进行的操作包括索引,切片,加,乘,检查成员。

此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。

列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。

列表的数据项不需要具有相同的类型

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可

numbers = [5,2,1,7,4]
# 在列表末尾添加数字20
numbers.append(20)
# 在0索引上插入10,其他元素向右移
numbers.insert(0,10)
# 移除5这个元素
numbers.remove(5)
# 清空列表
numbers.clear()
# 删除列表最后一项
numbers.pop()
# 返回值为5的元素的索引,如果没有会抛异常
numbers.index(5)
# 判断列表中是否存在50,返回布尔类型,所以使用这个更安全
50 in numbers
# 列表中5出现的次数
numbers.count(5)
# 对列表进行升序排列,无返回值
numbers.sort()
# 反转列表,无返回值
numbers.reverse()
# 复制列表
numbers2 = numbers.copy()

1.6 去掉列表中重复的数字

numbers = [2,2,4,6,3,4,6,1]
uniques = []
for number in numbers:
    if number not in uniques:
        uniques.append(number)
print(uniques)

1.7 元组 不能被修改

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

numbers = (1,2,3)
# 会抛异常
numbers[0] = 10

1.8 解压缩

# 元组和列表可以通过这种方式(解压缩)给变量复制
coordinates = (1,2,3)
x,y,z = coordinates

1.9 字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中。

customer = {
    "name":"Join Smith",
    "age":30,
    "is_verified":True
}
customer["birthdate"] = "Jan 1 1980"
print(customer["birthdate"])

1.10 输入数字打印英文

phone = input("Phone: ")
digits_mapping = {
    "1":"One",
    "2":"Two",
    "3":"Three",
    "4":"Four"
}
output = ""
for ch in phone:
    output += digits_mapping.get(ch,"!")+" "
print(output)

1.11 表情和符号的替换

message = input(">")
words = message.split(' ')
emojis = {
    ":)":"😊",
    ":(":"😢"
}
output = ""
for word in words:
    output += emojis.get(word,word)+" "
print(output)

1.12 函数的定义

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def greet_user(first_name,last_name):
    print(f'Hi {first_name} {last_name}!')
    print('Welcome aboard')


print("Start")
greet_user("John","Smith")
print("Finish")

1.13 将表情转换定义为函数

def emoji_converter(message):
    words = message.split(' ')
    emojis = {
        ":)": "😊",
        ":(": "😢"
    }
    output = ""
    for word in words:
        output += emojis.get(word, word) + " "
    return output


message = input(">")
print(emoji_converter(message))

1.14 异常处理

即便 Python 程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。

大多数的异常都不会被程序处理,都以错误信息的形式展现在这里.

try 语句按照如下方式工作;

  • 首先,执行 try 子句(在关键字 try 和关键字 except 之间的语句)。
  • 如果没有异常发生,忽略 except 子句,try 子句执行后结束。
  • 如果在执行 try 子句的过程中发生了异常,那么 try 子句余下的部分将被忽略。如果异常的类型和 except 之后的名称相符,那么对应的 except 子句将被执行。
  • 如果一个异常没有与任何的 excep 匹配,那么这个异常将会传递给上层的 try 中。

一个 try 语句可能包含多个except子句,分别来处理不同的特定的异常。最多只有一个分支会被执行。

处理程序将只针对对应的 try 子句中的异常进行处理,而不是其他的 try 的处理程序中的异常。

一个except子句可以同时处理多个异常,这些异常将被放在一个括号里成为一个元组

try:
    age = int(input('Age: '))
    income = 20000
    risk = income / age
    print(age)
except ZeroDivisionError:
    print('Age cannot be 0.')
except ValueError:
    print('Invalid value')

1.15 类

用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。

class Point:
    def move(self):
        print("move")


    def draw(self):
        print("draw")


point1 = Point()
point1.x = 10
point1.y = 20
print(point1.x)
point1.draw()

1.16 构造方法

__init__

class Person:
    def __init__(self,name):
        self.name = name

    def talk(self):
        print(f"Hi, I am {self.name}")


john = Person("John Smith")
print(john.name)
john.talk()

1.17 继承

Python 同样支持类的继承,如果一种语言不支持继承,类就没有什么意义。

class Mammal:
    def walk(self):
        print("walk")


class Dog(Mammal):
    def bark(self):
        print("bark")


class Cat(Mammal):
    def be_annoying(self):
        print("annoying")

dog1 = Dog()
dog1.walk()

相关文章

网友评论

      本文标题:学习Python的第二天

      本文链接:https://www.haomeiwen.com/subject/jaqvyhtx.html