(课程学习笔记)Python初级入门精讲

  1. Python语言介绍
    1.1 Python语言介绍
    命名:原本是一个戏剧团的名称Python
    1.2 Python能做什么
    系统运维,目前在运维领域Python语言最牛逼;
    网络编程(爬虫:从网上扒数据然后分类,服务器编程,搜索引擎);
    科学计算;
    教学;
    AI、图像、游戏
    1.3 Python特点
    优点:纯面向对象、免费、移植性能好、可混合编程(胶水语言)、开发效率高
    缺点:运行速度比较慢
    1.4 Python版本问题
    Python 2.x
    Python 3.x
    教学版本 >= 3.5

  2. 环境搭建
    所需软件:
    1.Python解释器(Python官网:www.python.org)
    2.包安装器 pip,conda
    3.Jupyter Notebook(www.jupyter.org):一个原本用于科学计算的python交互环境,支持Markdown
    4.IDE(www.jetbrains.com):PyCharm 集成开发环境
    5.虚拟环境(https://www.anaconda.com):一个虚拟出来的python解释器和相应的编程环境,即一个沙箱环境,防止多个项目的环境项目污染 Anaconda
    平台:
    windows环境安装:
    1.cmd-python 查看是否安装成功python解释器
    2.anaconda 程序-所有程序-anaconda3 能运行有就说明安装成功
    3.PyCharm 如果PyCharm能运行,说明成功
    linux环境安装
    1.虚拟环境模拟软件:VMware
    2.安装CentOS
    3.安装python
    MaxOs环境安装:

  3. 第一个Python程序
    1.编写
    -工具,用什么进行输入:记事本
    -后缀:py,非必须
    -格式:python是严格格式代码
    2.运行
    -命令行下运行:cmd+r
    -交互环境下一行一行输入运行
    3.代码组成
    -导入第三方工具包
    -程序代码:语句、函数、类、表达式、注释

  4. Python语言基础
    1.变量命名规则
    1.1.变量名必须以字母、下划线、数字、汉字(不推荐)开头,不能使用python关键字和保留字
    1.2.区分大小写 you不等于YOU

    2.变量推荐命名法则
    2.1.使用英文单词或者缩写
    2.2.汉字、拼音不推荐
    2.3.驼峰命名法:多个单词构成,除第一个其他首字母大写,例如myAge,myFirstName
    2.4.大驼峰:所有单词首字母大写,例如MyAge
    2.5.posix命名法:由单词构成,全部小写,单词间下划线连接,例如:my_age

    3.Python基础数据类型
    3.1数字类型
    常量数字:直接表示出来的数字就是常量数
    数字类型 | 数字举例
    十进制 1,123,-21
    浮点数 -0.988,2.21,4e-12,4.32e23
    复数 3+56j,4.5+7.83j
    二进制(0b开头) 0b1001
    十六进制(0x开头) 0xfec
    八进制(0o开头) 0o432
    注:八进制在python2.x中可以以“0”或“0o”开头,python3.x中以"0o"开头
    整数:通常指不带有小数部分的数,包括自然数,0,负数,在pyton中表示任意大的数字。例如23,-9,0
    整数的进制:
    十进制:逢10进1
    二进制:逢2进1,由0,1组成,python中的二进制常量以"0b"开头
    八进制:逢8进1,由0-7的数字组成,python中的二进制常量以"0o"开头
    十六进制:逢16进1,由0-9,A,B,C,D,E,F表示0-15的数字,python中的二进制常量以"0x"开头
    不同进制之间的转换:
    十进制转二进制:bin()
    十进制转八进制:oct()
    十进制转十六进制:hex()
    浮点数:即我们日常理解的小数。
    表现的形式:
    常见的小数,1.0,1.2,3.0
    科学计数法:小数乘以10为底的指数,指数可以为负数 3.2222*10^5
    复数:由实部和虚部组成,中间由‘+‘号链接,虚部后跟‘j’表示。
    例如:3+4j

    3.2 字符串类型
    3.2.1 什么是字符串?
    –即表示文本的一种形式。
    例如:“我爱北京天安门。”
    –排列有序
    –在非注释中,凡是用引号引起来的部分是字符串
    3.2.2 引号类型:
    单引号:‘hello’
    双引号:“hello”
    三单引号:’’‘hello’’’
    三双引号:""“hello”""
    3.2.3 四种引号的区别
    单引号和双引号没有区别
    三单引号和三双引号没有区别
    三引号被常用来表示多行字符串信息,或者在程序函数内部函数整体开头表示函数说明
    –字符串中出现引号,需要使用转义字符或者其他的形式的引号
    例如:想表示 let’s go
    “let’s go” 或者 ‘’‘let’s go’’’ 或者""“let’s go”"" 或者 ‘let’s go’
    3.2.4 常用转义字符:
    单引号:’ 双引号:" 响铃:\a 反斜杠:\ 换行:\n 水平制表符:\t
    3.2.5 String类型的API
    API:applicationprogramminginterface 引用程序接口,我们只需要来调用就行了
    1.一般函数:
    startswith/endswith:判断是否以特定XXX字符串开头或者结尾
    count:计算一个字符在一个字符串中出现的次数
    find:查找字符串中子字符串出现的位置,并返回第一个查找的位置,返回结果大于等于0表示查到的位置,返回结果为-1表示查不到
    2.判断字符串:
    其一定判断功能的字符串
    islower/isupper:判断字符串是小写还是大写
    isdigit:判断字符串是否全部由数字字符组成
    isalpha:判断字符串是否全部由字母组成
    3.操作类函数:
    lower/upper:转换大小写
    strip/lstrip/rstrip:去掉空格/去掉左边空格/去掉右边空格
    swapcase:字符串中字符交换大小写
    3.2.6 字符串的格式化
    把字符串按照一定的格式进行打印或者填充
    格式化的分类:
    1.使用%进行格式化
    占位符的种类:
    %s表示简单的字符串
    %r表示字符串
    %c表示整数转换为单个字符
    %d表示一个整数
    %u表示无符号整数
    %o表示八进制
    %x表示十六进制,字母为小写x
    %X表示十六进制,字母为大写X
    %e:浮点数,例如2.87e+12
    %E:浮点数,例如2.87E+12
    %.xf表示浮点小数,x表示几位小数
    格式字符千出现整数表示此占位符所占位置的宽度
    格式字符前面出现+表示右对齐,-表示左对齐
    例如:“my name is %s,my age is %d,my height is %.2f” %(“xulutao”,25,175.234)
    2.使用format函数

    3.2.7 布尔变量
    表示真假 true/false
    *如果布尔值作为数字参与运算,所有非0的数字都为true,但是,反之如果true作为数字参与运算则为1,false为0
    例如:false+8=8 true+8=9
    if 32: #if后面只能跟布尔值,所以这里32作为布尔值为true,所有非0的数字都是true
    print(“nihao”)

    3.2.8 None
    是一个特殊的常量,不表示任何类型,通常用来占位,或者变量绑定解除,None与任何其他类型进行比较永远返回false
    作用:-占位
    -变量绑定解除
    例子:a=33 print(a) a= None print(a)

    4.运算符
    4.1算数运算符
    +,-,,/,%,//
    + : 加法
    - : 减法
    / :除法
    在python3中两数相除,结果为浮点数
    例:5/2=2.5 4/2=2.0 4/3=1.3333333333333333
    // :地板除
    两数相除,得到的结果取整,但是不意味着得到的结果一定是整数,
    如两整数正好结果为整数,则得到整数,否则出现浮点数
    例:4//2 = 2 4.0//2 = 2.0 25//3 = 8 25.0//3 = 8.0
    % :表示取余
    例:5/3 商1余2
    *
    :表示幂指数
    例:42 表示4的2次方 53表示5的3次方
    4.2算数运算符优先级
    三个等级:1.** 2.,/,%,// 3.+,-
    有括号先计算括号内
    4.3赋值运算符
    =,+=,-=,
    =,/=,%=,**=,//=
    a+=b就是a=a+b
    a-=b就是a=a-b
    为python变量提供赋值运算功能的符号
    python中允许批量赋值,左边的数量必须和右边一样,用逗号分开
    例:a,b,c = 10,20,30
    python允许两个变量进行交换
    例:a=100,b=200 a,b = b,a
    4.4比较运算符
    返回的结果为布尔值
    <,>,>=,<=,==,!=
    在python3中,不等于符号只有一个!=
    4.5逻辑运算符
    and:逻辑与 or:逻辑或 not:逻辑非
    and 逻辑与,如果不能理解,可以把true看作1,false看作0,and就是乘号
    例:True and False = False
    or 逻辑或,如果不能理解,可以把true看作1,false看作0,or就是加号
    例:False or True = True
    not 逻辑非,如果不能理解,可以把true看作1,false看作0,not看作取反
    例:not True = False not False = True not 3 > 4 = True
    4.6特殊运算符
    is,is not ,del
    is:判断两个变量,对象是否为同一个
    两个对象/变量是否是is的依据是,id值是否一样
    例:a=7897 b=7897 a is b = False
    在python中一些初级的,常用的对象,被放入内存中,供大家使用不用再创建,于是出现这样的情况
    例:a=1 b=1 a is b = True

     is not:跟is操作符正好相反
     a is not b
    
     del:用于删除变量,同时解除与对象的关联,如果可能则释放对象
     例:b = 1
            print(b)
            del b
            print(b) #报错,b没有定义
    

    4.7基本输入输出
    input:从标准输入设备上读取一个字符串,末尾的换行符会被自动删除
    注意:input返回值永远是一个字符串
    例:input(“请输入您的年龄,按回车键结束:”)
    print:输出/打印信息到标准输出设备
    age = input(“请输入您的年龄,按回车键结束:”)
    print(“您的年龄为%s” % age)

4.8程序结构
程序可以由三种结构组成全部:程序结构=顺序+分支+循环
4.8.1 if语句
语法:
if (条件表达式) :
          程序处理模块
例子:score = 89
if ( score >= 90)
print(“A”)
if( score >=80 and score <90 )
print(“B”)
python中用缩进来表示程序结构或代码的层级关系
注意:缩进可以用tab键或者空格,一个tab表示几个空格,在python2中只要空格数相同tab和空格键可以混用,但是在python3在不可以混用,推荐使用tab键
#pass语句:占位符号,不起任何作用,不执行任何语句
例:if(3>0) :
pass
4.8.2 if else语句
语法:
例:输入成绩,大于等于90输出A,否则判断是否大于等于60,大于输出及格否则输出不及格。
score = input(“请输入您的成绩,按回车键结束:”)
#input返回值都是str,需要转换为整数类型
score = int(score)
if (score >=90) :
print(“你的成绩为A”)
else :
if (score >= 60) :
print(“你的成绩为及格”)
else :
print(“你的成绩为不及格”)
4.8.3 三元操作符
元:操作数的意思,所谓三元,就是一个操作符带动三个操作数一起运算
语法: x if 条件 else y
例:如果1<3 返回43否则返回34 a = 43 if 1 < 3 else 34
4.8.4 循环预备知识
list
列表:用来盛放/表示一串性质相同或者相似的数据,这些数据组成有序的一种排列方式
#python中一个列表可以盛放:数字、字符串、列表、或者其他复杂结构
#列表定义
1.直接表示列表,需要用中括号括起来,中间用逗号隔开
L1 = [1,2,3,4,5
#range:一个函数,产生一个有规律的由数字组成的列表,使用时包含三个参数:range(start,end,step)
start:开始数字,生成的列表里的第一个数字,默认为0
end:结束数字,不包含在生成的列表里
step:步长,即每次增加多少,默认为1
4.8.5 For循环
#for循环特点:有一个清晰的循环次数,或者清晰的循环结束标志
#语法:for i in xxx :
                   循环语句模块
例:对于在L1中的每一个元素,我们给这个元素临时用变量idx表示,执行打印操作
L1 = [1,2,3,4,5,6,7]
for idx in L1 :
     print(idx)
L2 = range(1,8)
for idx in L2 :
     print(idx)
例:利用range函数和for循环对1-50的数求和
mySum = 0
L = range(1,51)
for idx in L :
    mySum+=idx;
print(mySum)
4.8.6 while循环
#while循环特点:当满足一定条件时才循环,具体循环多少次数没有具体规定或者规划
#语法:while(循环条件) :
                    循环体
例:银行利息,本金10000,年息7%,多少年后本金会超过13000
year = 0
money = 13000
while(money<=13000):
    money*=1.07
    year+=1
print("%d年后会超过" % year)
例:1-50求和,while必须用
sum=0
n=1
while(n<51):
    sum+=n
    n+=1
print(sum)
4.8.7 break语句
无条件终止循环并跳出循环体,对于多重循环,break语句只跳出离他最近的一次循环
例:在50到100之间寻找第一个可以被整9除的数。
for idx in range(50,101) :
    if idx%9==0:
    print(idx)
    break
4.8.7 continue语句
跳过这一轮循环,继续下一轮循环
例:累加求和,1-100累加求和,当数字为奇数时才累加。
suum = 0
for idx in range(1,101) :
    if idx %2 == 0:
    continue
suum+=idx
print(suum)
4.8.8 函数
#几个问题:
函数名/函数定义
参数
返回值
#函数定义:
def funcName() :
    print(“这是我的第一个函数”)
#函数的调用:调用直接用函数的名称,有参数输入参数,没参数用空括号
funcName()
4.8.9 函数返回值return
函数的类型一般就是返回值的类型,不返回数据可以没有return,但不建议去掉
如果不返回值,则自动默认返回None
函数可以返回复杂类型,亦可以返回多个值
例:
#返回多个值,用逗号隔开;多个返回值函数只能是一个tuple类型或者相同数量变量
def func(one,two)
    one+=100
    two+=100
    three=one+two
    return one,two,three
#对多个返回值的调用,如果返回值放入一个变量中,则默认此变量为tuple类型,即多个返回值自动打包为tuple
res = func(1,2)
print(res)
#对多个返回值的调用,返回值放入多个变量中
r1,r2,r3 = func(1,2)
print(r1,r2,r3)
4.9 参数
在函数中,用来占位具有一定表示意义的变量名
分类:
形参:形式参数的名称 ,给实参用来占位
实参:实际参数的名称 ,实参用来参与具体运算
关键字参数:对参数进行别名设置,同时使参数具有了默认值形参用来定义
默认参数:参数在定义时带默认值
序列、字典参数:序列参数是指参数作为一个列表传入,字典参数是指参数作为一个字典传入
星号元组参数:允许
例:
#形参
def func01(name)
    print(“My name is %s” % name )
#实参,在调用的时候它有了具体的含义
func01(“Tom”)
#关键字参数:忽略参数的顺序,调用时显示的效果一样
func01(name=“Tom”,food=“fish”)
func01(food=“fish”,name=“Tom”)
#默认参数
默认参数的定义:需要使用关键字参数,语法格式为arg=xxx,默认参数必须放在参数列表后面,且默认参数后不得再有普通参数
先定义一个函数,在需要默认参数的后面加上值,且后面不能再有普通参数
def func02(name,score=60) :
    if(score >= 60):
    print(“恭喜%s考了%d,不用重考” % (name,score))
    else:
    print(“很遗憾%s只考了%d,需要重考” %(name,score))
#序列、字典参数
例:
#序列参数怎么传入呢?
##定义一个函数
def myFunc(name1,name2,name3)
print(n1+n2+n3)
##把实参作为列表传入,序列的长度必须和形参个数相同
pl=[“one”,“two”,“three”]
##怎么调用,则需要特俗标识符"*“表示出来
myFunc1(*pl)
#字典参数怎么传入呢?
##尝试把所有参数放入一个字典,字典的长度必须和形参个数相同,字典的键必须对应形参,键作为字符串类型
d = {“a”:“tom”,“b”:“jerry”,“c”:“ketty”}
##怎么调用呢,则需要特俗标识符”**"表示出来
myFunc1(**d)
#星号元组参数
例:
##先定义星号元组参数函数
def func03(*arg) :
    print(arg)
##怎么调用,如果不输入参数则函数认为你给了一个空列表,如果输入参数则函数自动打包把实参放入列表然后传入
func03(“tom”,“tim”,“jerry”,“jay”)

5.0 函数文档
函数文档是在函数开头起一定说明性的一段文字,通过查看_doc_属性可以查看函数定义的doc内容
例:
def func1(one) :
‘’‘么有实际意义,只是显示文档的位置
参数只有一个叫做one
哈哈哈哈,不用每一行都要#
‘’’
print(“The first func1”)
return one
#如何查看函数的文档内容呢
func1.doc

你可能感兴趣的:(技术支持)