初识Python

    “罗马不是一天建成的”,Python代码编写也不是一蹴而就,都是通过一点一滴的积累才能达成。

什么事编程语言

核心;
1、编程的目的:
        将人类的思想流程传递给计算机,使计算机按照人类的思想完成复杂的工作,从而解放双手。
2、编程语言:
        本质就是计算机的语言
3、什么是编程
        人类按照计算机语言的格式编写指令,让计算机看懂并执行。
 

编程语言分类

编程语言的发展
机器语言:计算机的语言,是二进制编程;例如:0101010101010。缺点:开发效率慢、对人员要求比较高。优点:运行快。
汇编语言:把二进制数封装英文单词。缺点:没有摆脱直接操作硬件的本质。
高级语言:更接近人类的语言。
高级语言分类
    编译型:
                需要编译器(写完代码,使用编译器翻译给计算机)。如c,执行速度快,调试麻烦
    解释性
                需要解释器(解释一句,传递给计算机一句)。如Python,执行速度慢,调试方便
 

Python介绍

    Python创世人为吉多·范罗苏姆(guido van rossum)1989年在圣诞节期间,guido开始写Python解释Python语言的解释器。
 

python的优越性

      解释性语言:
                 解释性语言的程序不需要开发者进行编译,在程序运行程序时才被翻译成机器语言。特点是“随时编辑,随时生效”。
       高级性:
                  在Python语言中,list、set、directionary等是内置于语言本身的。
       胶水语言:
                  用在链接软件组件的程序设计语言,可以链接各种主要的技术标准。
       跨平台行:
                  支持在windows、Linux、mac上运行。
       健壮性:
                  Python的强类型机制,异常处理、垃圾的自动收集等是程序健壮的重要保障。开发人员不用再资源申请、回收等方面花费太多精力。
       易学易用:
                   Python的设计哲学“优雅”“明确”“简单”。在国外一些知名大学已经采用Python教授程序设计课程。例如:卡耐基梅隆大学的编程课、麻省理工学院的计算机科学及编程导论就使用Python语言授课。
 
 

执行文件格式

Python3  +文件路径+文件名
Python执行文件过程
 
启动Python解释器,解释器到硬盘上找到文件内容,从硬盘读到内存里去。
Python解释器解释Python代码
 

第一个Python程序

>>> print("Hello World")
Hello World
print在英文的意思为打印,这行代码的意思为打印Hellw World。
 

变量

什么事变量:
        某一事物运动过程中,数值可以变化的量。如炮弹飞行的速度就是变量。
定义变量
 
>>> name = "charlotte"
>>> print(name)
charlotte
>>> name = "xiaogongzi"
>>> print(name)
xiaogongzi
 
从上边的例子可以看出,name所打印的值发生了变化。那么问题来了,Charlotte这个值去了什么地方?
 
在Python解释器中开辟了一个空间,用name这个字符指向这个分配的内存空间Charlotte。再次开辟一块内存空间,用name指向新的分配的内存空间xiaogongzi。那么原有的Charlotte的这块内存空间会根据Python的回收机制回收。
实际上 是把name=“charlotte”这种绑定关系取消掉。把name和xiaogongzi绑定到一起。
 
 
定义一个变量会有变量的id,这个ID是内存地址的反应,不是变量的内存地址。
 
定义一个变量会有三个特征:id、类型(type)、值
>>> print(id(name),type(name),name)
44656264 <class 'str'> charlotte
 

定义一个变量要求:

1、字母、数字、下划线
2、不能以数字开始
3、不能是Python的关键字
and del from not while as  elif  global or with assert else  if pass yield break except import print  class exec in raise continue finally is  return  def for lambda
 

变量名命名要求:

            命名方式
                        1、驼峰体
                              AgeOfTom = 18
                        2、下划线
                              age_of_tom = 18
                        

变量名要求:

            1、有意义。
            2、不能是中文或者拼音。
            3、简短。
常量
      
      在Python中,不存在常量。但是通常用全大写为默认的常量,例如:AGE = 19那么别人再看到这里是,就不会改变AGE的值。
 

程序交互

    
        在Python2中:
                input():只能输入数字和字符串都显示各自的类型.
                raw_input(): 输入所有都显示为字符串。 
         在Python3中:
                input():输入所有的为字符串
 

在Python的文件头部

#!/usr/bin/env python3            #声明用的Python版本,
# _*_ conding : utf-8 _*_           #字符集
#author:charlotte                      #作者
 

Python的数据类型

        1、数字
        2、列表
        3、字符串
        4、字典
        5、布尔
        6、元组

数字

 
Python支持int(整数)、float(浮点数)、bool(布尔)、complex(复数)
 
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
像大多数语言一样,数值类型的赋值和计算都是很直观的。
内置的 type() 函数可以用来查询变量所指的对象类型
>>> a, b, c, d = 20, 5.5, True, 4+3j
>>> print(type(a), type(b), type(c), type(d))
<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
 

列表

List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。
列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号([])之间、用逗号分隔开的元素列表。
>>> List = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
>>> type(List)
<class 'list'>
列表的访问
>>> List = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
>>> print(List[1],List[0:4],List[0::4])
786 ['abcd', 786, 2.23, 'runoob'] ['abcd', 70.2]
 
国外习惯从0开始,所以第一个为786;【0:4】这里是包含头部,不含尾部所以又三个数值;【0::4】步长为四切割。
>>> print(List[-1])
70.2
复数从最右边算第一个为-1
 
列表的删除
删除列表的第一个值
>>> print(List)
[786, 2.23, 'runoob', 70.2]
 
list列表的方法
>>> L = [1,2,3,4,5,6,7]
>>> print(L)
[1, 2, 3, 4, 5, 6, 7]
L.append(var)       #追加元素
L.insert(index,var)
L.pop(var)              #返回最后一个元素,并从list中删除之
L.remove(var)      #删除第一次出现的该元素
L.count(var)          #该元素在列表中出现的个数
L.index(var)          #该元素的位置,无则抛异常
L.extend(list)        #追  加list,即合并list到L上
L.sort()                     #排序
L.reverse()             #倒序
 
list 操作符:,+,,关键字del
 
a[1:]                          #片段操作符,用于子list的提取
[1,2]+[3,4]            #为[1,2,3,4]。同extend()
[2]4                          #为[2,2,2,2]
del L[1]                   #删除指定下标的元素
del L[1:3]               #删除指定下标范围的元素
list的复制
L1 = L #L1为L的别名,指针地址相同,对L1操作即对L操作。函数参数就是这样传递的
L1 = L[:]   #L1为L的克隆,即另一个拷贝

字符串

 
>>> name = "tom"
>>> type(name)
<class 'str'>
可以提取其中一个字符
>>> name[0]
't'
 

字典

字典(dictionary)是无序的对象集合。
字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。
name_age = {'tom':18,'bob':19,'jerry':20}
>>> name_age
{'tom': 18, 'bob': 19, 'jerry': 20}
 
字典的方法
>>> D = {"tom":19,'bob':2,'jerry':30}
>>> print(D)
{'tom': 19, 'bob': 2, 'jerry': 30}
 
D.get("tom", 0)      #同D[key],获取tom所对应的值
D.has_key(key)       #有该键返回TRUE,否则FALSE
D.keys()                 #返回字典键的列表
D.values()
D.items()
D.update(D2)   #增加合并字典
D.popitem()         #什么都不写()里,删除最后一个,如果删除指定k ,直接显示打印后删除。如果没有返回一个异常
 
D.clear()               #清空字典,同del dict
D.copy()               #拷贝字典
D.cmp(D,D2)         #比较字典,(优先级为元素个数、键大小、键值大小)
#第一个大返回1,小返回-1,一样返回0
dictionary的复制
D = D1                    #别名
D=D1.copy()          #克隆,即另一个拷贝
 
 

布尔型

为真的时候为True
为假的时候为False
 
 

元组

可以提取其中的值,但是不可以更改
>>> tuple = ("tom","bob",3,4,5,6)
>>> tuple
('tom', 'bob', 3, 4, 5, 6)
>>> tuple[0:1]
('tom',)
 

运算符



这里不做过多解释
 

格式化输出

>>> name_age = 'tom is %s year old ' % 19
>>> print(name_age)
tom is 19 year old
 
方法一:
>>> name_age = 'tom is %s year old.bob is %d year old ' % (19,20)
>>> print(name_age)
tom is 19 year old.bob is 20 year old
这里说明一下%s 输出字符串也可以是整数,%d只能是整数。
 
方法二:
>>> name_age = 'tom is {} year old.bob is {} year old '.format(19,20)
>>> name_age
'tom is 19 year old.bob is 20 year old '
 
>>> name_age = 'tom is {0} year old.bob is {1} year old '.format(19,20)
>>> name_age
'tom is 19 year old.bob is 20 year old '
 
>>> name_age = 'tom is {1} year old.bob is {0} year old '.format(19,20)
>>> name_age
'tom is 20 year old.bob is 19 year old '
 
>>> name_age = 'tom is {age1} year old.bob is {age2} year old '.format(age1=19,age2=20)
>>> name_age
'tom is 19 year old.bob is 20 year old '
{}加值方便我们随时更改想要格式化输出的内容,个人推荐最后一种。
 
 

流控制if……else

 
results = int(input("请输入您的成绩>>>: "))
if results > 90:
    print("优秀")
elif results >= 80:
    print("良好")
elif results >= 70:
    print("普通")
else:
    print("很差")
 这里python的多分支if。
 
单分支:
 results = int(input("请输入您的成绩>>>: "))
if results >90 :
print("奖励糖果")
else:
print("继续努力")
当然Python的if还可以这样用:
if results == 100 : print("太棒了!")
 

流控制器while

while 条件:
    循环
    如果为真(true),继续循环
    如果为假(false),退出
 
count = 0
while count <= 3:
    print("循环了{}".format(count))
    count += 1
 
循环了0
循环了1
循环了2
循环了3
 
 
死循环
while True:
    print("循环了{}".format(count))
    count += 1
那么它会一直循环下去
 
break和continue
 
break跳出本层循环
while True:
    print("你好,tom")
    break
    print("你好,bob")
你好,tom
 
那么,他不会执行“你好,bob”
 
while True:
    print("hello")
    while True:
        print("你好,tom")
        break
        print("你好,bob")
跳出本层,是指跳出第二个while不执行“你好,bob”.一直执行"hello"
 
当然也可以这么玩
 
TAG = True
count = 0
while TAG:
    print("hello")
    while TAG:
        count += 1
        print(count)
        if count == 3:TAG = False
当TAG为False时候,全部退出
 
continue退出本次循环,继续下一次循环
 
count = 0
while count <5:
    count += 1
    if count == 3:continue
    print(count)
 
1
2
4
5
他就会跳过3这个数
 

for循环

for i in range(10):
        print(i)
 
0
1
2
3
4
5
6
7
8
9
 
 
for i in range(1,10):
       for j in range(1,i+1):
            print('%s*%s=%s' % (i, j, i * j), end=" ")
       print()
 
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
 
break和continue同上while
posted @ 2017-09-08 11:49  zz小公子  阅读(150)  评论(0编辑  收藏  举报