python入门(一)

一 、编程与编程语言

python是一门编程语言,搞明白三点:
    1、编程目的?
       计算机的发展就是为解放人力,机器是死的,所以人必须找到一种能够被机器识别的表达方式从而把自己的思想按照
       这个表达方式传递机器,完成机器可以自发的工作。
    2、什么编程语言?
       上面所说的表达方式指的就编程语言

       英语            Python
       单词            关键字(if while for and or)
       语法            语法
       作文            编程
    3、什么编程?
       按照某种编程语言的语法风格写程序,程序在未执行前就是一堆普通文件。

二、编程语言的分类:

程序员(奴隶主)    计算机(奴隶)
  1、机器语言:站在奴隶角度说计算机能听懂的话,直接用二进制编程,直接操作硬件
      优点:执行效率快
      缺点:学习难度大,开发效率低
  2、汇编语言:站在奴隶角度说计算机能听懂的话,用一些英文标签来代替一串特定的意义的二进制,还是直接操作硬件
      优点:执行效率快,不如机器语言快
      缺点:学习难度大,开发效率低,比机器语言降一个难度
   3、高级语言:站在人的角度说人话,机器无法理解,所以需要翻译
       编译型(C):相当于百度翻译,翻译一次,拿着该翻译的结果去执行。(如果报错,要重新调试,就要重新编译一次,代码改正后还要再编译一次,在运行一遍,所以调试麻烦,开发效率低。)
        优点:执行效率高
        缺点:开发效率低
       解释型(Python):相当于同声传译,一边解释一边执行。(解释型速度慢)(要有解释器)
        优点:开发效率高
        缺点:执行效率低     
  4、总结(开发效率占首位,软件现在都是基于网络)
      执行效率:从高到低
      开发效率:从低到高
      学习难度:从难到易
  执行效率不是影响,开发效率才是王道
  5.python有哪些种类:
    指的是python解释器的种类:cpython,IPython、pypy、Jpython、IronPython 

  6.python解释器安装:

    (1)首先下载:https://www.python.org/

    (2)选自定义安装并且加到环境变量中去

      

      

    (3)加环境变量

      计算机——属性——高级系统设置——高级——环境变量——加到系统变量中(对所有用户有效)

     (4)pip第三方库

        

三、写程序的两种方式:

   交互式环境:
      即时调试

    

   文件的方式:
      python3 C: est.py

    

四、变量:

1  什么是变量?
2       变:指的是“变化”,量:指的反映某种状态
3       能反映出状态变化的机制就叫变量(存数据,让计算机能识别,能变化)
4    如何定义变量?
5     name:变量名 ,‘=’赋值符号,‘egon’:变量值
1     (1)反应的是状态
2       name='egon'
3       password='egon123'
4     (2)指的是可以变化
5       password='egon@123'
View Code

   

 1 变量名的命名规则?
 2       #1. 变量名只能是 字母、数字或下划线的任意组合
 3       #2. 变量名的第一个字符不能是数字
 4       #3. 关键字不能声明为变量名
 5    定义的方式:
 6     驼峰式
 7        AgeOfOldboy=53
 8     下划线
 9        age_of_oldboy=53
10        age_of_oldboy=54

五、常量:

  AGE_OF_OLDBOY=54

六: 执行过程(重点!!!)

1  python3 C:	est.py
2      1、先启动python3.exe
3      2、把C:	est.py从硬盘读入内存
4      3、解释执行文件内容(自动识别python语法)

七、引用计数+垃圾回收机制(了解)

   x='aaa' #'aaa'这个值的引用计数为1
   y=x #'aaa'这个值的引用计数为2

   x=1
   y=2

   z=3
   del z #解除绑定

八、产生一个变量的三要素(重点)

 1  name='egon'
 2    变量值:用来表示状态
 3     用变量名取变量值
 4       print(name)
 5    变量值的类型:表示不同的状态应该用不同类型的值去表示(数字:年龄,字符串:名字)
 6     print(type(name))
 7    变量值的id号:(指的是内存地址的位置(把内存地址转换成id号了))
 8       print(id(name))
 9   
10    >>> name1='egon'
11    >>> name1,type(name1),id(name1)
12    ('egon', <class 'str'>, 35494968)
13    >>>
14    >>>
15    >>>
16    >>> name2='egon'
17    >>> name2,type(name2),id(name2)
18    ('egon', <class 'str'>, 35494968)
19  
20    >>> info1='info egon:18'
21    >>> info2='info egon:18'
22    >>> info1,type(info1),id(info1)
23    ('info egon:18', <class 'str'>, 35513136)
24    >>> info2,type(info2),id(info2)
25    ('info egon:18', <class 'str'>, 35513200)
26    数据量小的话不会再开内存空间了(python的优化机制)
27    >>> x=1
28    >>> y=1
29    >>>
30    >>> id(x)
31    1626261168
32    >>> id(y)
33    1626261168
34    >>>
35    >>> x=1234567890123
36    >>> y=1234567890123
37    >>> id(x)
38    30057584
39    >>> id(y)
40    34827152
41  
42    判断值是否相等:==
43    判断id是否相等:is
44    >>> x=1234567890123
45    >>> y=1234567890123
46    >>> id(x)
47    30057584
48    >>> id(y)
49    34827152
50    >>>
51    >>>
52    >>> x is y
53    False
54    >>> x == y
55    True

九:程序与用户交互

1 user=input('先生您好,请输入账号:') #input把用户输入的内容都存成字符串类型
2    """""":指的是多行注释
3    """
4    xxxxx
5    yhyyyy
6    zzz
7    """

十、数据类型

  1  '''
  2   整型:int
  3   状态:等级,身份证号,年龄
  4   '''
  5   # level=10 #level=int(10)
  6   # print(level,type(level),id(level))
  7 
  8   '''
  9   浮点型:float
 10   状态:薪资,身高,体重
 11   '''
 12   # salary=3000.3 #salary=float(3000.3)
 13   # print(salary,type(salary),id(salary))
 14 
 15   '''
 16   字符串:str在引号(单引号,双引号,三引号)里定义的一堆字符
 17   状态:描述性的内容,比如名字,性别,国籍
 18   '''
 19   # gender='male' #gender=str('male')
 20   # print(type(gender))
 21   # info="my name is egon i'm a teacher"
 22   #
 23   # msg='''
 24   # xxxx
 25   # yyy
 26   # zzz
 27   # '''
 28   # print(msg)
 29 
 30   # x=1
 31   # y=2.3
 32   # res=x+y
 33   # print(res)
 34   #字符只能跟字符串之间进行+或者*
 35   # info1='hello'
 36   # info2='world'
 37   # res=info1+info2  
 38   # print(res)
 39   # print('egon'*10)
 40   # print(''*10)
 41   显示的好看
 42   # print('='*10)
 43   # print('hello world')
 44   # print('='*10)
 45 
 46   '''
 47   列表:list在[]内,用逗号分隔开,存放多个任意类型的元素
 48   状态:有序存放多个值
 49   '''
 50   # info='''
 51   # name:xxx
 52   # age:18
 53   # sex:male
 54   # '''
 55   # print(info)
 56   # info=['egon',18,'male',['欧德博爱','education',70]] 
 57   # print(info[0])
 58   # print(info[3])
 59   # print(info[3][0])
 60 
 61   '''
 62   字典类型:dict 定义花括号内,用逗号分割key:value,value可以是任意类型,但是key必须不可变类型
 63   状态:存放多个值
 64   '''
 65      #  name  age  sex   company
 66   # info=['egon',18,'male',['欧德博爱','education',70]]
 67   # info[2]
 68     #  name  age  sex   company
 69   info={
 70       'name':'egon',
 71       'age':18,
 72       'sex':'male',
 73       'company':['欧德博爱','education',70]
 74   } #info=dict({....})
 75   # print(info,type(info),id(info))
 76   # print(info['sex'])
 77   # print(info['company'][2])
 78   #
 79   #  
 80   #
 81   # info={
 82   #     'name':'egon',
 83   #     'age':18,
 84   #     'sex':'male',
 85   #     'company':{'name':'欧德博爱','type':'education','emp_count':70}
 86   # }
 87   #
 88   # print(info['company']['type'])
 89  
 90   #
 91   # dic={0:'egon',1:'xxx',2:'yyy'}
 92   #  
 93   # print(dic[0])
 94   # stduents=['egon','alex','wxx','yxx']
 95 
 96   '''
 97   布尔:bool True,False
 98   状态:成立,不成立,用来做逻辑运算---》判断
 99   '''
100   print(type(True))
101   age=38
102   print(age > 18)

 十一、可变类型与不可变类型

 1 #1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典
 2  
 3 #2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间)数字,字符串,浮点,布尔值
 4     #int,float,str
 5 # dic={1:'a'}
 6 # dic={1.1:'a'}
 7 # dic={'b':'a'}
 8  
 9 # dic={[1,2,3]:'a'}
10 # dic={{'a':1}:'a'}
11  
12 # dic={True:'a'}
13 # print(dic[True])

 

 

十二、格式化输出

 1  # name=input('name>>: ')
 2   # age=input('age>>: ')
 3   #
 4   # print('my name is [%s] my age is <%s>' %(name,age))
 5   # print('my name is %s' %'egon')
 6   # print('my name is %s' %11111111111111)
 7   # print('my age is %d' %10)
 8   # print('my age is %d' %'xxxx') #%d只能接收数字,而%s既可以接收数字又可以接收字符串
 9   练习:
10   name=input('name>>: ')
11   age=input('age>>: ')
12   sex=input('sex>>: ')
13   job=input('job>>: ')
14   msg='''
15   ------------ info of %s -----------
16   Name  : %s
17   Age   : %s
18   Sex   : %s
19   Job   : %s
20   ------------- end -----------------
21   ''' %(name,name,age,sex,job)
22   print(msg)

 

十三、基本运算符

  算数运算

    以下假设变量:a=10,b=20

比较运算

    以下假设变量:a=10,b=20

 

 赋值运算

    以下假设变量:a=10,b=20 

  逻辑运算

 

>>> True or Flase and False
True
>>> (True or Flase) and False
False
 1  #算术
 2     # print(10%3)
 3     # print(2**3)
 4     # print(10/3)
 5     # print(10//3)
 6 
 7   #比较
 8     # print(10 > 3)
 9     # print(10 < 3)
10     # print(10 == 3)
11     # print(10 != 3)
12   #赋值
13     # a=2
14     # b=a
15     #链式赋值
16     # a=b=c=2
17     # print(id(a),id(b),id(c))
18   #交叉赋值
19     # m=1
20     # n=2
21     # temp=m
22     # m=n
23     # n=temp
24     # print(m,n)
25     # m,n=n,m
26     # print(m,n)
27   #解压
28     l=[1,2,3,4]
29     # a,b,c,d=l
30     # print(a)
31     # print(b)
32     # print(c)
33     # print(d)
34 
35     # a=l[0]
36     # _=l[1]
37     # _=l[2]
38     # d=l[3]
39     # a,_,_,d=l
40     # print(a,d)
41     # a,*_,d=l
42     # print(a)
43     # print(d)
44   #赋值运算符
45     # level=1
46     # level+=1 #level=level+1
47     # level-=1 #level=level-1
48     # print(level)
49   #逻辑and or not
50     # age=18
51     # is_pretty=True
52     # height=170
53     # weight=80
54     # print(age >= 18 and is_pretty == True and height > 160 and weight > 30 and weight < 90)
55     # print(1 > 2 or 1 > 3 or 3 > 1 or 4 < 3)
56 
57     # print(not 4 > 2)
58  
59     age=18
60     is_pretty=True
61     height=170
62     weight=80
63     print((height > 160 and weight > 60 and weight < 90) or is_pretty == True or age == 18
64     )
65 
66   #身份
67   #is比较的是id
68   #而==比较的是值

十四、流程控制之if判断

 1 # age=28
 2   # if age > 18:
 3   #     print('表白')
 4   # age=28
 5   # if age > 18 and age < 22:
 6   #     print('表白')
 7   # else:
 8   #     print('阿姨好')
 9 
10   # age=19
11   # is_pretty=True
12   # success=True
13   # if age > 18 and age < 22 and is_pretty:
14   #     if success:
15   #         print('表白成功,在一起')
16   #     else:
17   #         print('去他妈的爱情')
18   #  else:
19   #      print('阿姨好')
20  
21 score=input('>>: ')
22 #>=90:优秀
23 #>=80 <90 :良好
24 #>=60 <80 :合格
25 #<60:滚犊子
26 score=int(score)
27 if score >= 90:
28     print('优秀')
29 elif score >= 80:
30     print('良好')
31 elif score >= 60:
32     print('合格')
33 else:
34     print('滚犊子')

十五、流程控制之while循环

  1 #条件循环
  2 '''
  3 while 条件:
  4     代码1
  5     代码2
  6     代码3
  7 '''
  8 # age_of_oldboy=54
  9 #
 10 # guess=input('>>: ')
 11 # guess=int(guess)
 12 #
 13 # if guess > age_of_oldboy:
 14 #     print('too big')
 15 # elif guess < age_of_oldboy:
 16 #     print('too small')
 17 # else:
 18 #     print('you got it')
 19 #
 20 # guess=input('>>: ')
 21 # guess=int(guess)
 22 #
 23 # if guess > age_of_oldboy:
 24 #     print('too big')
 25 # elif guess < age_of_oldboy:
 26 #     print('too small')
 27 # else:
 28 #     print('you got it')
 29 #
 30 # guess=input('>>: ')
 31 # guess=int(guess)
 32 #
 33 # if guess > age_of_oldboy:
 34 #     print('too big')
 35 # elif guess < age_of_oldboy:
 36 #     print('too small')
 37 # else:
 38 #     print('you got it')
 39  
 40 
 41 # count=0
 42 # while count <= 10:
 43 #     print(count)
 44 #     count+=1
 45 
 46 #while+break
 47 # count=0
 48 # while True:
 49 #     if count == 5:
 50 #         break #跳出本层
 51 #     print(count)
 52 #     count+=1
 53 #while+continue
 54 #1,2,3,4,5,7
 55 # count=1
 56 # while count <= 7:
 57 #     if count == 6:
 58 #         count += 1
 59 #         continue #跳出本次循环
 60 #     print(count)
 61 #     count+=1
 62 
 63 #嵌套循环
 64 # count=1
 65 # while True:
 66 #     if count > 3:
 67 #         print('too many tries')
 68 #         break
 69 #
 70 #     name=input('name>>: ')
 71 #     password=input('password>>: ')
 72 #     if name == 'egon' and password == '123':
 73 #         print('login successfull')
 74 #         break
 75 #     else:
 76 #         print('user or password err')
 77 #         count+=1
 78  
 79  
 80  
 81 # count = 1
 82 # while True:
 83 #     if count > 3:
 84 #         print('too many tries')
 85 #         break
 86 #
 87 #     name = input('name>>: ')
 88 #     password = input('password>>: ')
 89 #     if name == 'egon' and password == '123':
 90 #         print('login successfull')
 91 #         while True: #让用户能重复输入命令
 92 #             cmd=input('cmd>>: ') #q
 93 #             if cmd == 'q':
 94 #                 break#跳出本层循环
 95 #             print('run %s' %cmd)#run cmd代表这个cmd执行了,这样就退不出来,就在上面写如果cmd=‘q’时,就break,从这个地方如果退出还会让你输账号和密码
 96 #         break            #正常xshell你退出了就不会让你在输账号和密码了,所以我们要退出所有循环,所以要在这加break
 97 #     else:
 98 #         print('user or password err')
 99 #         count += 1
100  
101 
102 # count = 1
103 # tag=True    #标志位的实现方式,如果单独写True就只有表示脚本中的True都是独立的,定义完变量就是用的一个True,一个变量的值,在输入‘q’的时候退出所有循环
104 # while tag:
105 #     if count > 3:
106 #         print('too many tries')
107 #         break
108 #
109 #     name = input('name>>: ')
110 #     password = input('password>>: ')
111 #     if name == 'egon' and password == '123':
112 #         print('login successfull')
113 #         while tag:
114 #             cmd=input('cmd>>: ') #q      
115 #             if cmd == 'q':
116 #                 tag=False     在这吧tag定为False,就是当输入‘q’时,tag变成False了,所以整个循环的tag都成为False了,所以就会全部退出了                           
117 #                 continue
118 #             print('run %s' %cmd)
119 #
120 #     else:
121 #         print('user or password err')
122 #         count += 1
123  
124 
125 #while+else
126 count=0
127 while count <= 5:
128     if count == 3:
129         break
130     print(count)
131     count+=1
132 else:
133     print('当while循环在运行过程中没有被break打断,则执行我')

 

 
原文地址:https://www.cnblogs.com/yinfutao/p/7967153.html