快速掌握Python基础语法(下)

  • 2019 年 10 月 7 日
  • 筆記

接着上一篇,这篇继续来讲 Python 的基础语法,如果你还没有看过之前的那一篇文章,可以看一下。

字典

字典是一系列键-值对,键-值对之间用 冒号 : 连接,用花括号 { } 表示字典。

# 字典  alien_0 = {'color': 'green', 'points': 5}  print(alien_0['color'])    # green  

给字典增添新键-值对,可以用如下方法:将值赋给字典名+方括号括起来新键名

# 给字典增添新键值对  alien_0['y_position'] = 0  print(alien_0['y_position'])    # 0  

遍历字典时,键-值对的获取顺序是不可测的。

输入和 while 循环

input( ) 函数获取输入。

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

while 循环。

# while 循环  current_number = 1  while current_number <= 5:      print(current_number)      current_number += 1    # 1  # 2  # 3  # 4  # 5  

可用 break 直接退出循环,用 continue 进行下一次循环。

函数

用关键字 def 告诉 Python 你要去定义一个函数。用三个引号括起去给函数注释,说明该函数的作用。

# 函数  def greet(username):      """简单问候语"""      print('hello,' + username.title() + '!')      greet('superfeng')    # hello,Superfeng!  

向函数传递实参时,可以按顺序传递,关键字传递(注意必须正确指定函数定义的形参名),默认值。

在 Python 中,向函数传递的实参都会被函数直接永久地修改,如果想在函数用实参的副本进行操作,就要用到向函数传递列表切片的方法,这样在传递实参之前就会就列表进行备份。

传递任意数量的实参,就要用 星号* ,会把任意数量的实参都封装在一个元组中。

# 传递任意数量的实参  def make_pizza(*toppings):      """打印任意数量的实参"""      print(toppings)      make_pizza('mushrooms', 'green papers', 'extra cheese')    # ('mushrooms', 'green papers', 'extra cheese')  

传递任意数量的关键字实参,要用到 两个星号** ,这会将传入的关键字实参封装到一个字典中。

导入函数模块的方法:import + 要导入模块的名称。调用导入模块中的函数时,要使用 句点. 访问。在导入模块时,可以用 as 给模块起别名。

# 调用模块中的函数  import pizza      pizza.make_pizza('mushrooms', 'green papers', 'extra cheese')    # ('mushrooms', 'green papers', 'extra cheese')  

在 Python 中,用关键字 class 创建,按照约定首字母大写的名称指的是,应该用驼峰命名法。类中的函数称为方法。特殊方法 _init(self, name1, name2)_ 可以看做向类传递参数的一个接口,其中通过形参 self 向类中其它方法传递参数。创建和调用一个类如下方法:

# 创建一个类  class Dog:      """一次模拟小狗的简单尝试"""        def __init__(self, name, age):          """初始化属性 name 和 age"""          self.name = name          self.age = age        def sit(self):          """模拟小狗被命令时蹲下"""          print(self.name.title() + ' is now sitting.')        def roll_over(self):          """模拟小狗被命令时打滚"""          print(self.name.title() + ' rolled over!')      # 调用一个类  my_dog = Dog('willie', '6')  print(my_dog.name.title() + ' say hello!')  my_dog.roll_over()    # Willie say hello!  # Willie rolled over!  

可以通过三种方式修改属性的值直接通过实例进行修改,通过方法进行设置,通过方法进行递增

继承

继承时,子类的括号中必须包括父类的名字。让子类继承父类的属性时,要用到 super( ) 函数,父类也称为超类(superclass)

# 继承  class SpecialDog(Dog):      """子类:特殊的狗"""      def __init__(self, name, age):          # 用 super() 函数继承父类属性          super().__init__(name, age)      his_dog = SpecialDog('tom', 6)  his_dog.roll_over()    # Tom rolled over!  

如果在子类中重新写了一个与父类同名的方法,创建实例时会自动忽略父类。

文件

读取文件:关键字 with 可以在不需要访问文件之后将其关闭。文件路径可以用相对路径绝对路径进行查找。

# 读取文件  file_path = 'C:\Users\Desktop\data.txt'  with open(file_path) as file_object:      contents = file_object.read()      print(contents)  

存储数据

可以将 Python 文件的数据存储到 .json 类型文件中(.json 原本是为了 JavaScript 开发的,但后来被更多的语言所使用),这样不会变更文件的数据类型。

# 存储数据  import json    numbers = [1, 2, 3, 4, 5]  with open('num.json', 'w') as n_obj:      json.dump(numbers, n_obj)  

至此,你已经学会了 Python 的基础语法,有了这些基础知识,你就应该不会为了看不懂代码而发愁了。