zoukankan      html  css  js  c++  java
  • 《简明 Python 教程》笔记

    基础

    • 字符串:python 中字符串可以用单引号、双引号和三个引号括起来,其中三个引号可以用来指定多行的字符串。

    • print('hello'* 3) 连续打印 3 个 hello

    • 格式化:print 方法默认是换行的,可以通过 end 指定其应以空白结尾:print('a', end='')

    name = 'Tom'
    print('my name is {0}'.format(name))
    print('my name is {}'.format(name)) #可以去掉占位符中的数字
    print('my name is {name}'.format(name='Tom'))
    
    • 缩进:Python 中语句块是通过缩进来区别的,所以同一语句块里的代码必须拥有相同的缩进。

    流程控制语句

    • 流程控制语句类似于 C#的写法,但要注意缩进,以及 if 等语句结尾处要加上冒号。
    • while 和 for 语句后可以用 else 语句。
    • for 的用法类似于 C#中的 foreach,只是 python 中的 for 不需要加括号。
    number=1
    if number>1:
        print('a')
    elif number==1:
        print('b')
    else:
        print('c')
    

    函数

    • 定义函数是用关键字 def,另外函数名称后记得要加冒号;默认参数值、关键字参数跟 C#一样。
    • python 中作用域跟 C#中一样,属于块级作用域
    def sayHello(name='John'):
        print('hello,'+name)
    sayHello('Tom')
    
    • 可变参数:在参数前加星号。(加一个星号和两个星号的区别:加两个星号的参数类型为字典)
    def total(a=5, *numbers, **phonebook):
        print('a', a)
        #遍历元组中的所有项目
        for single_item in numbers:
            print('single_item', single_item)
        #遍历字典中的所有项目
        for first_part, second_part in phonebook.items():
            print(first_part,second_part)
    
    print(total(10,1,2,3,Jack=1123,John=2231,Inge=1560))
    
    • 每个函数后面都隐含了一句 return None,这类似于 js。

    模块

    • 以.py的文件就相当于是一个模块。
    • 调用内置的 dir()函数可以返回该对象中所定义的名称列表,如果该对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。该函数接受参数,如果没有提供参数,就返回当前模块的名称列表。
    • 包(Packages):包是指一个包含模块与一个特殊的__init__.py 文件的文件夹。

    数据结构

    • Python 中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。

    列表(List)

    • 类似于C#中的数组用中括号括起来。查看列表长度用内置的len()函数,这跟C#不同。
      如:shoplist = ['apple', 'mango', 'carrot', 'banana']

    元组(Tuple)

    • 与C#中的元组类似,声明后数值不可修改。python中声明元组推荐用括号括起来,但括号不是必须的。如:zoo = ('python', 'elephant', 'penguin')
    • 一个空的元组由一对圆括号构成,如:myempty = (),但是只包含一个元素的元组,必须在第一个元素后加一个逗号,如:singleton = (2, )

    字典(Dictionary)

    • 就是一个JSON对象,如:d = {key : value1 , key2 : value2}

    集合(Set)

    • bri = set(['brazil', 'russia', 'india'])

    面向对象编程

    • 使用class来声明.
    • 类中的方法需加参数self
    • __ init__ 方法 类似于C#中的构造函数
    • 所有类成员都是公开的,如果要使其成为私有,须在名称前加双下划线作为前缀,如:__privatevar
    • 类变量相当于C#中的静态变量,它是共享的,对象变量是不共享的。
    • 类方法相当于C#中的静态方法,python中需要用@classmethod来标识。
    class Person:
        def __init__(self, name):
            self.name = name
    
        def say_hi(self):
            print('Hello, my name is', self.name)
    
    p = Person('Swaroop')
    p.say_hi()
    

    继承

    • 在类名后跟一个包含基类名称的元组;使用多重继承时,只需使用包括多个父类的元组。
    • 子类中定义了__init__ 方法时,Python 不会自动调用基类 SchoolMember 的构造函数,你必须自己显式地调用它。
    class SchoolMember:
        def __init__(self, name, age): 
            self.name = name
            self.age = age
            print('(Initialized SchoolMember: {})'.format(self.name))
    
    
        def tell(self): 
            print('Name:"{}" Age:"{}"'.format(self.name, self.age), end=" ")
     
    class Teacher(SchoolMember):
        def __init__(self, name, age, salary): 
            SchoolMember.__init__(self, name, age)
            self.salary = salary
            print('(Initialized Teacher: {})'.format(self.name))
    
    
        def tell(self): 
            SchoolMember.tell(self)
            print('Salary: "{:d}"'.format(self.salary))
    
    
    class Student(SchoolMember):
        def __init__(self, name, age, marks): 
            SchoolMember.__init__(self, name, age)
            self.marks = marks
            print('(Initialized Student: {})'.format(self.name))
     
        def tell(self): 
            SchoolMember.tell(self)
            print('Marks: "{:d}"'.format(self.marks))
    
    t = Teacher('Mrs. Shrividya', 40, 30000)
    s = Student('Swaroop', 25, 75)
     
    print()
    members = [t, s]
    for member in members: 
        member.tell()
    

    输入与输出

    • Pickle 的标准模块:通过它你可以将任何纯 Python 对象存储到一个文件中,并在稍后将其取回。这叫作持久地(Persistently)存储对象。
  • 相关阅读:
    完整约束二(学习笔记)
    完整约束一(学习笔记)
    表的创建与管理二(学习笔记)
    闪回技术(学习笔记)
    表的创建与管理一(学习笔记)
    借助AWR报告分析解决oracleCPU过高的问题(转)
    数据的集合运算(学习笔记)
    SQL:1999基本语法(学习笔记)
    表的连接操作(学习笔记)
    多表查询(学习笔记)
  • 原文地址:https://www.cnblogs.com/Lau7/p/9118359.html
Copyright © 2011-2022 走看看