Python笔记(2)

第三节 语句

3.1 If语句

a = 200
b = 66
if b > a:
  print("b is greater than a")
elif a == b:
  print("a and b are equal")
else:
  print("a is greater than b")
a = 200
b = 66
c = 500
if a > b and c > a:
  print("Both conditions are True")
a = 200
b = 66
c = 500
if a > b or a > c:
  print("At least one of the conditions is True")

3.2 While语句

#使用 break 语句,即使 while 条件为真,我们也可以停止循环
i = 1
while i < 7:
  print(i)
  if i == 3:
    break
  i += 1
#使用 continue 语句,我们可以停止当前的迭代,并继续下一个
i = 0
while i < 7:
  i += 1 
  if i == 3:
    continue
  print(i)
#通过使用 else 语句,当条件不再成立时,我们可以运行一次代码块:
#条件为假时打印一条消息:
i = 1
while i < 6:
  print(i)
  i += 1
else:
  print("i is no longer less than 6")

3.3 for语句

for x in range(3, 10):#不包括10
  print(x)

for x in range(3, 50, 6):#使用6递增
  print(x)
#结束时打印一条消息
for x in range(10):
  print(x)
else:
  print("Finally finished!")

第四节 函数

4.1 定义函数

#传入参数
def my_function(fname):
  print(fname + " Gates")

my_function("Rory John")
#默认参数
def my_function(country = "China"):
  print("I am from " + country)

my_function()
my_function("Brazil")
#list传参
def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)
#返回值
def my_function(x):
  return 5 * x

print(my_function(3))
#使用 key = value 语法发送参数
def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Phoebe", child2 = "Jennifer", child3 = "Rory")
#如果参数数目未知,请在参数名称前添加 *
def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Phoebe", "Jennifer", "Rory")

4.2 lambda函数

lambda 函数可接受任意数量的参数,但只能有一个表达式

#传入参数加10
x = lambda a : a + 10
print(x(5))

x = lambda a, b : a * b
print(x(5, 6))

当您把 lambda 用作另一个函数内的匿名函数时,会更好地展现 lambda 的强大能力


def myfunc(n):
  return lambda a : a * n

mydoubler = myfunc(2)#传入参数乘以2
mytripler = myfunc(3)#传入函数乘以3

print(mydoubler(11)) 
print(mytripler(11))

第五节 类

5.1 创建类

  1. 所有类都有一个名为 init() 的函数,它始终在启动类时执行。使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作。同时,对象也可以包含方法。对象中的方法是属于该对象的函数。
class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("Bill", 63)
p1.myfunc()
  1. self 参数是对类的当前实例的引用,用于访问属于该类的变量。它不必被命名为 self,您可以随意调用它,但它必须是类中任意函数的首个参数:
class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age

  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("Bill", 63)
p1.myfunc()

5.2 继承

  1. 创建父类,再创建一个子类,子类继承了父类的属性和方法。
#父类
class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#子类
class Student(Person):
  def __init__(self, fname, lname):
    # 添加属性等
  1. 子类的 init() 函数会覆盖对父的 init() 函数的继承。如需保持父的 init() 函数的继承,请添加对父的 init() 函数的调用:
class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)
  1. 或者使用 super() 函数,您不必使用父元素的名称,它将自动从其父元素继承方法和属性。
class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

第六节 迭代器

  1. 迭代器是一种对象,该对象包含值的可计数数字。
    迭代器是实现迭代器协议的对象,它包含方法 iter() 和 next()。
    列表、元组、字典和集合都是可迭代的对象。它们是可迭代的容器,您可以从中获取迭代器。
mytuple = ("apple", "banana", "cherry")
myit = iter(mytuple)

print(next(myit))
  1. 要把对象/类创建为迭代器,必须为对象实现 iter() 和 next() 方法。
    所有类都有名为 init() 的函数进行一些初始化。,而__iter__() 方法的作用相似,您可以执行操作(初始化等),但必须始终返回迭代器对象本身。
    next() 方法也允许您执行操作,并且必须返回序列中的下一个项目。
class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    x = self.a
    self.a += 1
    return x

myclass = MyNumbers()
myiter = iter(myclass)

print(next(myiter))
  1. 为了防止迭代永远进行,我们可以使用 StopIteration 语句。在 next() 方法中,如果迭代完成指定的次数,我们可以添加一个终止条件来引发错误:
class MyNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    if self.a <= 20:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration

myclass = MyNumbers()
myiter = iter(myclass)

for x in myiter:
  print(x)

第七节 模块

  1. 如需创建模块,只需将所需代码保存在文件扩展名为 mymodule.py 的文件中:
def greeting(name):
  print("Hello, " + name)

person1 = {
  "name": "Bill",
  "age": 63,
  "country": "USA"
}
  1. 用 import 语句来使用我们刚刚创建的模块,模块可以包含已经描述的函数,但也可以包含各种类型的变量(数组、字典、对象等):
import mymodule

mymodule.greeting("Bill")
a = mymodule.person1["age"]
print(a)
  1. 在导入模块时使用 as 关键字创建别名:
import mymodule as mx

a = mx.person1["age"]
print(a)
  1. Python 中有几个内建模块,您可以随时导入。使用 dir() 函数可以列出模块中的所有函数名(或变量名)
import platform

x = platform.system()
print(x)

x = dir(platform)
print(x)
  1. 可以使用 from 关键字选择仅从模块导入部件。在使用 from 关键字导入时,请勿在引用模块中的元素时使用模块名称。示例:person1[“age”],而不是 mymodule.person1[“age”]
from mymodule import person1

print (person1["age"])

第八节 PIP

PIP 是 Python 包或模块的包管理器。包中包含模块所需的所有文件。模块是您可以包含在项目中的 Python 代码库。

  1. 检查是否已安装 PIP
C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip --version
  1. 下载包
C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip install camelcase
  1. 使用 uninstall 命令来删除包:
C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip uninstall camelcase
  1. 使用 list 命令列出系统上安装的所有软件包:
C:\Users\Your Name\AppData\Local\Programs\Python\Python36-32\Scripts>pip list

第九节 文件处理

9.1 打开文件

  1. 在 Python 中使用文件的关键函数是 open() 函数。
    open() 函数有两个参数:文件名和模式。
    有四种打开文件的不同方法(模式):
"r" - 读取 - 默认值。打开文件进行读取,如果文件不存在则报错。
"a" - 追加 - 打开供追加的文件,如果不存在则创建该文件。
"w" - 写入 - 打开文件进行写入,如果文件不存在则创建该文件。
"x" - 创建 - 创建指定的文件,如果文件存在则返回错误。
  1. 此外,您可以指定文件是应该作为二进制还是文本模式进行处理。
"t" - 文本 - 默认值。文本模式。
"b" - 二进制 - 二进制模式(例如图像)。
f = open("demofile.txt", "rt")

9.2 读取文件

  1. open() 函数返回文件对象,此对象有一个 read() 方法用于读取文件的内容:
f = open("demofile.txt", "r")
print(f.read())
  1. 默认情况下,read() 方法返回整个文本,但您也可以指定要返回的字符数:
f = open("demofile.txt", "r")
print(f.read(5))
  1. 以使用 readline() 方法返回一行。通过两次调用 readline(),您可以读取前两行:
f = open("demofile.txt", "r")
print(f.readline())
  1. 通过循环遍历文件中的行,您可以逐行读取整个文件:
f = open("demofile.txt", "r")
for x in f:
  print(x)
  1. 完成后关闭文件:
f = open("demofile.txt", "r")
print(f.readline())
f.close()

9.3 写入文件

  1. 打开文件 “demofile2.txt” 并将内容追加到文件中:
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()
  1. 打开文件 “demofile3.txt” 并覆盖内容:
f = open("demofile3.txt", "w")
f.write("Woops! I have deleted the content!")
f.close()
  1. 如需在 Python 中创建新文件,请使用 open() 方法,并使用以下参数之一:
"x" - 创建 - 将创建一个文件,如果文件存在则返回错误
"a" - 追加 - 如果指定的文件不存在,将创建一个文件
"w" - 写入 - 如果指定的文件不存在,将创建一个文件
f = open("myfile.txt", "x")

9.4 删除文件

  1. 删除文件,必须导入 OS 模块,并运行其 os.remove() 函数。为避免出现错误,您可能需要在尝试删除文件之前检查该文件是否存在:
import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exist")
  1. 删除整个文件夹,请使用 os.rmdir() 方法,只能删除空文件夹。
import os
os.rmdir("myfolder")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值