美文网首页
2019-01-15

2019-01-15

作者: 外面风大跟我回家_1574 | 来源:发表于2019-01-16 21:27 被阅读0次

    一、计算机简介

    1.软件开发简介

    软件:一系列按照特定顺序组织起来的计算机语言或者指令

    开发:制作软件的过程

    软件的分类:

    系统软件:Windows,Linux,mac os等

    应用软件:qq,微信等

    2.Python概述

    Python的特点:

    a.面向对象的【一切皆对象】

    b.解释性语言

    c.交互式语言【在终端进行命令的编程】

    d.跨平台的语言【没有操作系统的限制,任何的操作系统都可以运行python代码】

    Python的优缺点:

    优点:

    a.易于学习和维护【版本更新迭代】

    b.广泛的标准库【提供了大量的工具】

    c.可扩展性

    d.数据库【mysql,sqlites3,mongodb,redis等数据库,Python中都有对应的模块】

    e.GUI编程【图形化界面】

    缺点:

    a.运行速度慢【和c语言比较】

    b.代码不能加密

    3.数据的存储

    计算机的作用:存储数据,运算数据

    数据存储在内存中,是以二进制的形式存储的【0和1,开关原理】

    进制的转换:计算机底层的工作原理

    原码反码补码:数据在计算机中都是以补码的形式存储的

    二、基础语法

    1.关键字和标识符

    关键字:在Python中被赋予了特殊含义的英文单词【break,continue,import,from ,class等】

    标识符:

    规则:

    a.只能由数字,字母,和下划线

    b.不能以数字开头

    c.不能使用其他的特殊符号

    d.严格区分大小写

    规范:

    a.不要使用关键字【注意:不要使用系统的函数名命名:abs = 10】

    b.格式:

    Python官方:所有的单词全部小写,不同的单词之间使用下划线分隔,举例:student_num

    普遍:驼峰命名法

    小驼峰:不同单词之间要分隔:单词首字母大写,但是。第一个单词的首字母小写,举例:studentNum

    大驼峰:不同单词之间要分隔:单词首字母大写,举例:StudentNum【TypeError,ValueError】,一般只使用在类名的定义中

    常量命名法:NUMBER = 10  ,只是一种约定,本质还是一个变量

    2.常量和变量

    可以随时进行重新赋值的标识符【可以修改值,也可以修改类型】

    Python是一门弱类型的语言【强类型:Java】

    举例:

    num = 10

    num = 20

    num = "hello"

    Java:  int num = 10    num = 20

    js:  var num = 10

    Python的数据类型:

    数字型:整型和浮点型,复数

    字符串:“xxxx”    “”“xxxxx”“”

    布尔型:True和False

    空值:None

    数据结构:list,tuple,dict,set

    a.定义方式:list:[]  tuple:()  dict:{}  set:{}

    b.是否有序:list:有序  tuple:有序  dict:无序  set:无序

    c.是否允许出现重复元素:list:允许  tuple:允许  dict:key不允许  set:不允许

    d.属于可迭代对象

    e.set相当于存储了字典中的key

    f.可以相互转换

    list(xx)  tuple(xx)    set(xx)

    函数:函数名其实就是一个变量名

    类:

    内存中的变量:

    num = 10  s1 = “hello”     

    内存:运算区域

    变量的本质:在内存中开辟了一块空间,其中存储了指定类型的数据

    堆:实体存储在堆空间中

    栈:变量【引用】存储在栈空间中

    删除变量:就相当于该变量未被定义

    num = 10

    del num

    print(num)  #NameError

    变量类型之间的转换:

    int()    str()  float()

    3.input和print

    input:输入

    print:输出

    importsys

    s1="453645"

    print(int(s1))

    #input获取到的内容全部是字符串

    # s2 = int(input("请输入数字:"))

    # print(s2 + 10)

    #数据转换为int的过程中,如果想要转换成功,则指定的数据必须是全数字,如果有其他特殊符号,

    # 只能出现+和-,而且只能出现在字符串的第0个字符

    # s3 = "abc123"

    # s3 = "12+3"

    s3="-123"

    print(int(s3))

    print(str(123))

    ​print(type(str(123)))

    ​print(float(12))

    ​print("+++++++==+++++++++++")

    ​print("hello")

    print("hello",3456,17)

    #格式化:占位符

    """

    %s:字符串,所有的对象

    %d:整型

    %f:浮点型

    """

    num1=10

    str1="abc"

    print(num1,str1)

    print("num1=",num1,'str1=',str1)

    print("num1=%d,str1=%s"%(num1,str1))

    #需求:将下面三个单词使用%连接起来

    print("hello",'good','abchuag')

    #默认情况下,sep关键字的值为一个空格的字符串 " "

    print("hello",'good','abchuag',sep="%")

    #默认情况下,end关键字的值为一个\n【换行符,转义字符】,

    print("hello",end="")

    print("fhghb")

    #重定向:改变原来的操作方式

    #默认情况下,关键字file默认的值为sys.stdout

    print("hello",file=sys.stdout)

    #相对路径

    f=open("file1.txt","w")#w;write    r:read

    print("shjgh~~~~~~~~",file=f)

    4.运算符

    算术运算符:**【求幂】    //【求整】

    #算术运算符:优先级:**  >  * / //  %> + -

    print(2*5)

    print(2**3)

    print(2**5*3)#96

    print(2*5**3)#250

    print((2*5)**3)

    赋值运算符:

    简单赋值运算符: = 

    复合赋值运算符:+=  -=  *=  /= 等  【算术运算符和简单赋值运算符的组合】

    num=10

    #num += 20  

    #等价于:num  = num + 20

    关系【比较,条件】运算符:==  !=  >=等

    注意1:运算的结果肯定为布尔值,一般结合if语句或者while循环

    注意2:区别==和=

    #关系运算符

    num=10

    ifnum%2==0:#1 == 0  0== 0

    print("偶数")

    逻辑运算符:

    and :两个条件同时成立返回True

    or:至少一个条件成立,则返回True

    not :否定

    注意:运算的结果肯定为布尔值

    假:0, 0.0  False,None,""

    注意:短路原则

    #and ;逻辑与

    #一假为假,全真为真

    print(TrueandTrue)#True

    print(TrueandFalse)#False

    print(FalseandTrue)#False

    print(FalseandFalse)#False

    print(TrueandFalseandTrue)#False

    print(FalseandTrueandTrueandTrueandFalse)#短路原则

    print("ghjsrghjrh")

    #or:逻辑或

    #一真为真,全假为假

    print(TrueorTrue)#True

    print(TrueorFalse)#True

    print(FalseorTrue)#True

    print(FalseorFalse)#False

    print(TrueorFalseorTrue)#True   短路原则

    print(FalseorTrueorTrue)#True

    成员运算符:in    not in 

    注意:一般集合数据结构使用【for循环遍历中,if判断】

    身份运算符:is      is not

    注意:注意==的区别

    print("身份运算符")

    a=10

    b=10

    ifa==b:

    print("ok")

    else:

    print("nook")

    ifaisb:

    print("ok")

    else:

    print("nook")

    ifid(a) ==id(b):

    print("ok")

    else:

    print("nook")

    #总结:is和==的区别:is判断的是地址,==判断的是内容

    位运算符:了解

    &  |  ^  <<  >>  ~

    #位运算符:^

    #需求:交换两个变量的值

    num1=10

    num2=20

    #方式一:交叉赋值

    # num1,num2 = num2,num1

    # print(num1,num2)

    #方式二:定义一个第三方变量

    # temp = num1

    # num1 = num2

    # num2 = temp

    # print(num1,num2)

    #方式三:异或

    #规律:一个数异或另外一个数两次,得到的结果为该数本身

    num1=num1^num2# num1 = 10 ^ 20

    num2=num1^num2#num2 = 10 ^ 20  ^ 20  = 10

    num1=num1^num2#num3 = 10 ^ 20 ^ 10  = 20

    #方式四:加减法

    num1=num1+num2#num1 = 10 + 20

    num2=num1-num2#num2 = 10 + 20  - 20 = 10

    num1=num1-num2#num1 = 10 + 20  - 10 = 20

    #总结:在实际项目开发中,常用方式一和方式二,面试题中,使用方式一,方式三和方式四

    5.语句

    代码块

    5.1if语句

    简单if语句【单分支】:要么执行,要么不执行,取决于条件是否为真

    语法:

    if 条件表达式:

    代码块

    说明:条件表达式可以由常量,变量,关系运算符,逻辑运算符,身份运算符,成员运算符充当

    if-else语句【双分支】:不管条件是否为真,都实现二选一的操作

    语法:

    if 条件表达式:

    代码块1

    else:

    代码块2

    if-elif-else【多分支】:不管有多少个分支,都实现多选一的操作

    语法:

    if 条件表达式1:

    代码块1

    elif 条件表达式2:

    代码块2

    。。。。

    else:

    代码块n

    嵌套if语句:单分支,双分支和多分支任意两者之间都可以进行相互嵌套

    注意:在某些情境下,嵌套if语句可以和and逻辑与之间进行相互转换

    #1.单分支

    num1=10

    num2=20

    ifnum1==num2:

    num1=100

    print(num1)

    #练习:判断一个数是否是偶数

    # num3 = int(input("请输入一个数字:"))

    # if num3 % 2 == 0:

    #     print("偶数")

    # print("奇数")

    #2.双分支

    # num3 = int(input("请输入一个数字:"))

    # if num3 % 2 == 0:

    #     print("偶数")

    # else:

    #     print("奇数")

    #练习:从控制台输入两个数,输出较大的数

    # n1 = int(input(""))

    # n2 = int(input(""))

    # if n1 > n2:

    #     print(n1)

    # else:

    #     print(n2)

    #3.多分支

    # if n1 > n2:

    #     print(n1)

    # elif n1 < n2:     #elif----->else if

    #     print(n2)

    # else:

    #     print("相等",n1)

    #练习:多分支实现的多选一,不管有多少个条件成立

    #工作原理:从上往下依次检索,只要找到一个条件成立,则执行相应的代码块,整个if语句结束

    n=3

    ifn>1:

    print("a")

    elifn>2:

    print("b")

    elifn>=3:

    print("c")

    else:

    print("d")

    print("over")

    #if单分支,双分支和多分之间的区别

    ifn>1:

    print("a")

    ifn>3:

    print("c")

    else:

    print("d")

    ifn>2:

    print("b")

    elifn>=3:

    print("c")

    else:

    print("d")

    #4.嵌套if语句

    m1=46

    m2=8

    ifm1>10:

    print("m1~~~~~")

    #代码块

    ifm2>5:

    print("m2~~~~~")

    else:

    print("elese")

    ifm1>10andm2>5:

    print("m2~~~~~111")

    print("fjaghra")

    #注意:理论来说,嵌套的层数没有限制,但是,从代码可读性和可维护性来说,建议尽量不要超过三层

    5.2while语句

    语法:

    while 条件表达式:

    代码块

    说明:while语句和if语句 的区别:在条件表达式成立的情况下,if语句只执行一次,但是while语句至少会执行一次

    完整的while语句:四要素

    初始化表达式

    while 条件表达式:

    循环体

    循环之后的操作表达式

    #需求1:打印10遍hello world

    #1.初始化表达式【定义一个变量,用于控制循环的次数】

    n=0

    #2.条件表达式

    whilen<10:

    #3.循环体

    print("hello world")

    #4.循环之后的操作表达式

    n+=1

    #练习1:打印0~9的数字

    n1=0

    whilen1<=9:

    print(n1)

    n1+=1

    #练习2:求1~100之间所有整数的和

    n2=1

    sum2=0

    whilen2<=100:

    #print(n2)

    sum2+=n2#累加

    n2+=1

    print(sum2)

    #练习3:求1~100之间所有偶数的和

    #方式一:

    # n3 = 0

    # sum3 = 0

    # while n3 <= 100:

    #     sum3 += n3

    #     n3 += 2

    #方式二:

    n3=1

    sum3=0

    whilen3<=100:

    ifn3%2==0:

    sum3+=n3

    n3+=2

    #练习4:在1~100之间求既能被3整除也能被7整除的数的个数

    n4=1

    count4=0

    whilen4<=100:

    ifn4%3==0andn4%7==0:

    count4+=1

    n4+=1

    #死循环

    """

    while True:

       pass

    while 1:

       pass

    """

    #else分支:执行时机

    #如果条件成立则先执行循环,再接着执行else分支,如果条件不成立,则直接执行else

    a=1

    whilea>3:

    print("hello")

    a+=1

    else:

    print("else")

    #嵌套while循环

    # b1 = 0

    # while b1 < 3:

    #     b2 = 0

    #     while b2 < 5:

    #         print("b1=%d,b2=%d" % (b1,b2))

    #         b2 += 1

    #     b1 += 1

    """

    b1=0,b2=0

    b1=0,b2=1

    b1=0,b2=2

    b1=0,b2=3

    b1=0,b2=4

    b1=1,b2=0

    b1=1,b2=1

    b1=1,b2=2

    b1=1,b2=3

    b1=1,b2=4

    b1=2,b2=0

    b1=2,b2=1

    b1=2,b2=2

    b1=2,b2=3

    b1=2,b2=4

    """

    print("+++++++++++++++")

    b1=0

    b2=0

    whileb1<3:

    whileb2<5:

    print("b1=%d,b2=%d"%(b1,b2))

    b2+=1

    b1+=1

    """

    b1=0,b2=0

    b1=0,b2=1

    b1=0,b2=2

    b1=0,b2=3

    b1=0,b2=4

    """

    #九九乘法表

    """

                                               行           列

    1x1=1                                        1            1

    1x2=2 2x2=4                                 2               2

    1x3=3 2x3=6 3x3=9                           3               3

    ....

    1x9=9 2x9=18     .......8x9=72 9x9=81          9            9

    规律:

    1.行数的取值范围:1~9

    2.列数随着行数的变化而变化,列数的最大值和行数相等

    """

    line=1

    #外层循环:控制行

    whileline<=9:

    colum=1

    #内层循环:控制列

    whilecolum<=line:

    print("%dx%d=%d"%(colum,line,line*colum),end=" ")

    colum+=1

    print("")

    line+=1

    #练习:求10的阶乘【1x2x3....x10】

    n1=1

    sum1=1

    whilen1<=10:

    sum1*=n1

    n1+=1

    5.3for语句

    主要用于遍历数据结构

    语法:

    for  变量  in  数据结构:

    循环体

    说明:使用for-in可以依次获取某个数据结构中的元素,自动将获取出来的元素赋值给变量

    list1= ["hfahf","hello",235,True,18.9]

    #for:元素

    forelementinlist1:

    print(element)

    #while:索引

    n=0

    whilen<len(list1):

    print(list1[n])

    n+=1

    #for:索引

    #思路:range(),可以生成一个可迭代对象,可以生成一个和索引相关的列表

    """

    range([start,]end[,step])

    start:开始数值,默认的值为0

    end:结束数值

    step:步长,默认的值为1

    包头不包尾

    """

    print(list(range(10)))

    print(list(range(1,10)))

    print(list(range(1,10,2)))

    forninrange(len(list1)):

    print(list1[n])

    #练习:求1~100之间所有偶数的和

    sum1=0

    forn1inrange(1,101):

    ifn1%2==0:

    sum1+=n1

    print(sum1)

    sum2=0

    forn2inrange(0,-101,-2):

    sum2+=n2

    print(sum2)

    #start,end,step:保持同步

    """

    1.如果要指明step,则start,end,step缺一不可

    2.如果step为负数,在start和end之间有负数存在

    """

    #else分支:for循环执行完毕之后才执行else分支

    forelementinlist1:

    print(element)

    else:

    print("else")

    #嵌套for

    foriinrange(1,10):

    forjinrange(1,i+1):

    print("%dx%d=%d"%(j,i,i*j),end=" ")

    print("")

    5.4break和continue

    break:直接跳出当前循环

    continue:结束当前正在执行的循环,继续下一次循环

    说明:break和continue可以应用在while和for,break使用更广泛

    n1=0

    whilen1<10:

    print(n1)

    #在Python中,break只能使用在循环中,跟if语句没有任何关系,if语句的存在只是一个条件的限制

    ifn1==5:

    #break

    n1+=1

    continue

    n1+=1

    print("over")

    #嵌套循环中

    foriinrange(5):#0~4

    forjinrange(3):#0~2

    print("i=%d,j=%d"%(i,j))

    ifj==1:

    #跳出的内层循环【就近原则:当前】

    break

    #在嵌套循环中,break和continue需要跳出哪个循环,则需要在当前循环天添加break和continue语句

    #一般单独为一条语句

    相关文章

      网友评论

          本文标题:2019-01-15

          本文链接:https://www.haomeiwen.com/subject/liqydqtx.html