接着上一篇,这篇继续来讲 Python 的基础语法,如果你还没有看过之前的那一篇文章,可以看一下。
字典
字典是一系列键-值对,键-值对之间用 冒号 : 连接,用花括号 { } 表示字典。
1# 字典 2alien_0 = { 'color': 'green', 'points': 5} 3print(alien_0['color']) 4 5# green 复制代码
给字典增添新键-值对,可以用如下方法:将值赋给字典名+方括号括起来新键名:
1# 给字典增添新键值对 2alien_0['y_position'] = 0 3print(alien_0['y_position']) 4 5# 0 复制代码
遍历字典时,键-值对的获取顺序是不可测的。
输入和 while 循环
用 input( ) 函数获取输入。
1# 输入 2message = input("Tell me something, and I will repeat it back to you:") 3print(message) 复制代码
while 循环。
1# while 循环 2current_number = 1 3while current_number <= 5: 4 print(current_number) 5 current_number += 1 6 7# 1 8# 2 9# 3 10# 4 11# 5 复制代码
可用 break 直接退出循环,用 continue 进行下一次循环。
函数
用关键字 def 告诉 Python 你要去定义一个函数。用三个引号括起去给函数注释,说明该函数的作用。
1# 函数 2def greet(username): 3 """简单问候语""" 4 print('hello,' + username.title() + '!') 5 6 7greet('superfeng') 8 9# hello,Superfeng! 复制代码
向函数传递实参时,可以按顺序传递,关键字传递(注意必须正确指定函数定义的形参名),默认值。
在 Python 中,向函数传递的实参都会被函数直接永久地修改,如果想在函数用实参的副本进行操作,就要用到向函数传递列表切片的方法,这样在传递实参之前就会就列表进行备份。
传递任意数量的实参,就要用 星号* ,会把任意数量的实参都封装在一个元组中。
1# 传递任意数量的实参 2def make_pizza(*toppings): 3 """打印任意数量的实参""" 4 print(toppings) 5 6 7make_pizza('mushrooms', 'green papers', 'extra cheese') 8 9# ('mushrooms', 'green papers', 'extra cheese') 复制代码
传递任意数量的关键字实参,要用到 两个星号** ,这会将传入的关键字实参封装到一个字典中。
导入函数模块的方法:import + 要导入模块的名称。调用导入模块中的函数时,要使用 句点. 访问。在导入模块时,可以用 as 给模块起别名。
1# 调用模块中的函数 2import pizza 3 4 5pizza.make_pizza('mushrooms', 'green papers', 'extra cheese') 6 7# ('mushrooms', 'green papers', 'extra cheese') 复制代码
类
在 Python 中,用关键字 class 创建类,按照约定首字母大写的名称指的是类,应该用驼峰命名法。类中的函数称为方法。特殊方法 _init(self, name1, name2)_ 可以看做向类传递参数的一个接口,其中通过形参 self 向类中其它方法传递参数。创建和调用一个类如下方法:
1# 创建一个类 2class Dog: 3 """一次模拟小狗的简单尝试""" 4 5 def __init__(self, name, age): 6 """初始化属性 name 和 age""" 7 self.name = name 8 self.age = age 9 10 def sit(self): 11 """模拟小狗被命令时蹲下""" 12 print(self.name.title() + ' is now sitting.') 13 14 def roll_over(self): 15 """模拟小狗被命令时打滚""" 16 print(self.name.title() + ' rolled over!') 17 18 19# 调用一个类 20my_dog = Dog('willie', '6') 21print(my_dog.name.title() + ' say hello!') 22my_dog.roll_over() 23 24# Willie say hello! 25# Willie rolled over! 复制代码
可以通过三种方式修改属性的值:直接通过实例进行修改,通过方法进行设置,通过方法进行递增。
继承
在继承时,子类的括号中必须包括父类的名字。让子类继承父类的属性时,要用到 super( ) 函数,父类也称为超类(superclass)。
1# 继承 2class SpecialDog(Dog): 3 """子类:特殊的狗""" 4 def __init__(self, name, age): 5 # 用 super() 函数继承父类属性 6 super().__init__(name, age) 7 8 9his_dog = SpecialDog('tom', 6) 10his_dog.roll_over() 11 12# Tom rolled over! 复制代码
如果在子类中重新写了一个与父类同名的方法,创建实例时会自动忽略父类。
文件
读取文件:关键字 with 可以在不需要访问文件之后将其关闭。文件路径可以用相对路径或绝对路径进行查找。
1# 读取文件 2file_path = 'C:\\Users\\Desktop\\data.txt' 3with open(file_path) as file_object: 4 contents = file_object.read() 5 print(contents) 复制代码
存储数据
可以将 Python 文件的数据存储到 .json 类型文件中(.json 原本是为了 JavaScript 开发的,但后来被更多的语言所使用),这样不会变更文件的数据类型。
1# 存储数据 2import json 3 4numbers = [1, 2, 3, 4, 5] 5with open('num.json', 'w') as n_obj: 6 json.dump(numbers, n_obj) 复制代码
至此,你已经学会了 Python 的基础语法,有了这些基础知识,你就应该不会为了看不懂代码而发愁了。
ps.如果想要打开新世界的大门,可以扫描下方的二维码,关注微信公众号「SuperFeng」。