python入门知识点01

一、基础知识

1.1python 一个.py文件如何调用另一个.py文件中的函数

1.1.1同一个文件夹下,调用函数

import b  #b.py文件
b.cat()

或
from b import cat
cat()

1.1.2在不同文件夹,调用函数

import sys
sys.path.append(r'E:\PythonProject\winycg')
'''python import模块时, 是在sys.path里按顺序查找的。
sys.path是一个列表,里面以字符串的形式存储了许多路径。
使用A.py文件中的函数需要先将他的文件路径放到sys.path中'''
import b
#b文件存在的路径:E:\PythonProject\winycg

1.1.3同一文件夹下,调用另一个.py文件中的类

#a.py文件:
class A:
    def __init__(self,xx,yy):
        self.x=xx
        self.y=yy
    def add(self):
        print("x和y的和为:%d"%(self.x+self.y))
#导入,创建对象,再调用函数
from a import A
a=A(2,3)  
a.add() 

1.2命名规则

项目名:首字母大写,其余小写,用下划线增加可读性,如:Ui_test;
包名与模块名:全部小写字母;
类名:首字母大写,其余小写,多个单词驼峰命名法;
方法(函数)名:全部小写,多个单词用下划线分隔;
参数名:小写单词,如果与关键词冲突,参数名前加上下划线,比如_print;
变量:小写,多个单词用下划线分隔;
常量:全部大写,多个单词用下划线分隔;

1.3注释

Python 使用 # 来进行单行注释,多行注释的话使用三引号

'''
这是
Python的
多行注释
'''

1.4print打印输出与input输入函数

a=input("请输入一个数字")
print(a)

 

二、数据类型

2.1变量

a=1  # =为赋值,将1赋值给变量a

type(a)可以查看变量的数据类型

a=input("请输入一个数字")
print(a)
print(type(a))

2.2数字类型:int\float\complex

数字类型转换:int(a)      #将a转换为一个整数

2.3布尔类型(Bool)

TureFalse来表示真假

2.4列表(List)

使用中括号[]表示,元素间用逗号分隔, 元素的数据类型可以不一样!

list1 = [1,2.0,"a",True]  # 定义列表
print(list1[1])           # 通过[下标]访问元素,从0开始,结果输出:2.0
print(list1[1:3])         # 支持截取,比如这里的[1:3],结果输出:[2.0, 'a']
print(list1[1:3:2])       # 还可以有第三个参数,步长,默认为1,结果输出:[2.0]
print(list1[2:])          # 输出结果:['a', True]
print(list1[-2])          # 负数的话从后面开始访问,结果输出:a
print(list1.index("a"))   # 返回参数在列表中的位置,结果输出:2    

# 修改列表元素
list1[1] = 3.0            # 直接获得元素后进行修改,此时列表元素:[1, 3.0, 'a', True]

# 添加元素
list1.append('Jay')       # 追加一个元素,此时列表元素:[1, 2.0, 'a', True, 'Jay']
list1.insert(2,'pig')     # 插入一个元素,此时列表元素:[1, 2.0, 'pig', 'a', True]

2.5元组(tuple)

元组中的元素不能修改,使用小括号()

s ="abcde"
list1=[1,2,3,4]
print(tuple(s))
print(tuple(list1))
('a', 'b', 'c', 'd', 'e')
(1, 2, 3, 4)

2.6 字典(dict)

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

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
print "dict['Name']: ", dict['Name']
print "dict['Age']: ", dict['Age']
dict['Name']:  Zara
dict['Age']:  7

2.7字符串

可以使用单引号('')或者双引号("")来修饰字符串, 如果想让字符串包含换行缩进等格式时,可以使用三括号('''''') 

字符串格式化

其实就是format方法的使用而已,示例如下:

str1 = "{a}生{c},{b}{d}!".format(a = "人", c = "苦短",b = "我用",d = "Python")
print(str1) # 输出结果:人生苦短,我用Python!

三、流程控制

3.1if 条件判断

每个条件后需要跟一个冒号(:),通过缩放来划分代码块, 嵌套的时候要注意

score =input("请输入你的分数:")
int_score =int(score)
if int_score <60:
    print("不及格")
elif 60<=int_score<=80:
    print("中")
elif 80 <= int_score <= 90:
    print("中")
else:
    if int_score ==100:
         print("优秀")
    else:
         print("满分")

#经常会出现indentationerror: expected an indented block这个错误提示,翻译过来就是缩进错误。

3.2while循环

同样要注意冒号和缩放! 可以搭配else使用,使用break关键字可以跳出循环

r =0
p=1
while p<=100:
    r +=p
    p+=1
else:
    print("结束")
    print(r)
    print(p)

3.3for循环

a=[1,2,3,4,5,6,7]
for i in a:
    print(i)
for a in range(5):
    print(a)

#range(5):0 1 2 3 4

4.3break,continue,else

break跳出循环;continue跳过余下操作直接进入下一次循环; else也可以使用在循环,for循环条件不成立时执行,如果先break的话不会执行!

4.4断言

assert关键字后面的判断条件为假的时候,程序自动崩溃并抛出AssertionErro异常, 一般在测试程序的时候才会用到

4.5迭代器与生成器

迭代器:用于访问集合,是一种可以记住遍历位置的对象,会从第一个元素 开始访问,直到结束,两个基本的方法:iter()next()

yield来返回值, 调用时会返回一个生成器对象,本质上还是迭代器。

四、函数

对于一些重复使用的代码块,我们可以把他抽取出来写成一个函数。

使用 def关键字 修饰,后接函数名圆括号(传入参数), 使用 return关键字 返回值,不写的话默认返回 None值。

函数必须先定义、后调用(函数调用函数例外)

def add(a,b):
    return a+b
print(add(1,2))

4.1默认参数

def sub(a = 1, b = 2):
    print(a+b)
sub()
def sub(a = 1, b = 2):
    print(a+b)
sub(3,4)

五、异常处理

5.1常见异常

 

异常   描述信息
AssertionError 断言语句失败
AttributeError 尝试访问未知的对象属性
IndexError 索引超出序列的范围
keyError  字典中查找一个不存在的Key
NameError 尝试访问一个不存在的变量
OSError  操作系统产生的异常,比如FileNotFoundError
SyntaxError Python语法错误
TypeError  不同类型间的无效操作
ZeroDivisionError 除数为0
IOError 输入输出错误
ValueError   函数传参类型错误
IndentationError 缩进错误

 

5.2try...except...的详细用法

我们把可能发生错误的语句放在try模块里,用except来处理异常。except可以处理一个专门的异常,也可以处理一组圆括号中的异常,如果except后没有指定异常,则默认处理所有的异常。每一个try,都必须至少有一个except。

s1 = 'hello'
try:
    int(s1)
except IndexError as e:
    print(e)

5.3万能异常Exception

s1 = 'hello'
try:
    int(s1)
except Exception as e:
    print(e)

六、面向对象

6.1基础讲解

如果类定义时,没有基类列表,等同于继承自object。在Python3中,object类是所有对象的根基类。

class A:
    pass
#等价于
class A(object):
    pass

 

6.2创建类和创建类对象


class Person:
    def cry(self):  #类方法:跟函数的定义类似,但是self参数自带的,这也是类的方法和普通方法的区别。
        print("I can cry")
    def speak(self):
        print("I can speak:%s"%(self.word))
tom =Person()  #创建对象,直接类名(),不用像java中还要new,所以python更加简洁
tom.cry()     #调用对象的方法
tom.word="hahah"
tom.speak()
tom.age =18  #给对象添加属性 ,属性不用在类定义时声明,但这种方法给对象赋值麻烦,每个对象都要赋值。
tom.age =19  #上面已经给tom添加过age属性,再次属于调用,重新赋值。
#属性虽然初始化了,但是固定死的,而实际每个对象的属性就不同。所以通过初始化时调用参数的形式,给每个对象赋不同的属性值
 
class Person2:
    def __init__(self,name,age): 
        self.age =age   #这种用法类似java中的this.age=age.self意思可以理解为当前对象
        self.name = name #表示将当前对象传进来的参数name的值赋给当前对象的属性name
        self.country = "china" #还是可以给类的每个对象都赋一个默认值。
 
    def speak(self):
        print("name=%s,age=%d"%(self.name,self.age))
-----------创建对象------------------------------------------------------------------------
p1 = Person2("allen",19)
p2 = Person2("sherry",22)
p3 = p2  #让p3=p2.对象的赋值
 
p1.speak()
p2.speak()


class MyClass():
    """
    MyClass 是一个类
    """
 
    def __init__(self, name):
        """
        init是构造函数,在实例化对象的时候初始化数据(创建对象的时候会先运行这个方法)
        """
        self.name = name # 这是实例变量,作用域就是实例本身 相当于 t1.name = name
 
    def my_function(self):
        """
        my_function 是一个方法
        """
        print("%s在调用这个方法" % self.name)
 
 
t1 = MyClass('张三') # 这里只传了"张三",但实际上 程序会把"t1"也传过去, self接手
# t1 是一个实例
# MyClass() 是一个对象
 
t1.my_function()
# 输出:张三在调用这个方法

总结:

1、__init__()方法,在创建一个对象时默认被调用,类似Java中构造器。不需要手动调用
2、__init__(self)中,默认有1个参数名字为self,必须写。如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为3、第一个形参外还需要2个形参,例如__init__(self,age,name).第一个self不需要手动传参。 
4、__init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去
5、python中一个类中只能有一个__init__方法,不支持该方法的重载(类似java中构造器的重载)

6.3父类的继承

定义子类的时候,必须在括号内指定父类的名称。init 函数接收创建实例的所需参数,注意一点:这里必须包括父类init 函数的参数。你也可以添加你自己的参数:

class Animals:
    def __init__(self,name,type,age):
        self.name=name
        self.type=type
        self.age=age
    def who(self):
        print("我是{}".format(self.name))
    def whichtype(self):
        print("我是{}".format(self.type))
    def  ag(self):
        print("我今年{}岁了".format(self.age))
a=Animals("兔兔","草食系",6)
a.who()
a.whichtype()
a.ag()

class cat(Animals):
    def __init__(self,name,type,age,like):
        self.like=like
        super().__init__(name,type,age)
    def hobby(self):
        print("我最喜欢{}".format(self.like))
littlecat =cat("小猫猫","肉食系",2,"逗猫棒")
littlecat.who()
littlecat.whichtype()
littlecat.ag()
littlecat.hobby()

 

七、下载安装第三方库

7.1pycharm直接安装

python入门知识点01_第1张图片

+号直接搜索添加

7.2pip3下载安装

打开cmd执行pip

pip3 install 库名   安装
python3 -m pip install 库名   作用同上,可以区分python2和python3而已
pip install --upgrade pip 更新pip
pip uninstall 库名 卸载库
pip list       查看已安装库列表


 

 


 

你可能感兴趣的:(python入门知识点01)