python简介和入门

一、什么是python?

  python是一种面向对象、解释型的计算机语言,它的特点是语法简洁、优雅、简单易学。

二、解释型语言和编译型语言

编译型语言——就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以。

解释型语言——就是程序在运行的时候,通过一个解释器,把代码一句一句的翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说python、shell、ruby、java、perl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快。

 三、选择python2.x还是python3.x?

  现在python有2.x版本和python3.x版本,在选择版本这个事情上,很多人都是比较纠结的。到底选择2还是3,因为2和3代码是不怎么兼容的,现在比较常用的是2.7版本,2.7版本其实是一个过渡版本,在2008年的时候推出了3.0版本,由于3.0版本改动比较大,和2.x的版本不兼容,很多用python2的公司重写代码太费劲了,所以在同年又发行了2.6过渡版本的python,加入了一些3.0的特性,在2010年的时候发行了2.7版本,也是一个过渡版本,在2014年的时候python官方宣布2.7支持到2020年,以后不会再发行2.8版本,尽快把程序迁移到3.x版本。python2的默认字符集是ASCII编码,写中文会报错,字符编码一直是让程序员头疼的一件事情,python2在处理中文的时候的确比较头疼,在python3.x版本中默认字符集是utf-8,省了很多事,so,还是推荐使用python3.x版本。

四、字符集是个什么鬼?

  说字符集之前,先说下2进制的故事,计算机比较傻只认识2进制,什么是2进制,就是0,1,计算机只认识这俩数字,其他的都不认识,这样的0或1为一"位",规定8位为一个字节,字节呢是表示现实世界字符的最基本的一个单元,比如说一个英文字母,一个字节是8位,也就是最多能存8个0或者1,8位二进制最大值是255。

  既然计算机只认识0和1,那怎么表示这些英文字母、以及汉字、标点符号呢?计算机是老美这帮哥们发明的,然后他们就创造了ASCII码这个东西,这个东西是干嘛的呢,就是用数字来代表这些符号,遇到这些数字就是知道代表的是啥了,然后数字再转化成二进制,这样计算机就能存这些英文符号的,老美这帮哥们,用127个数字,代表了所有的英文大小写字母和符号,这就是ASCII码表,http://www.96yx.com/tool/ASC2.htm。那么问题来了,计算机认识老美这帮哥们的英文了,那咱们中国同胞怎么办?汉字博大精深,还有什么少数民族的字,怎么办,我们也要用电脑啊!但是前面已经说了,一个字节最大存的数字是255,老美这帮哥们已经用了127个了,剩下的不够啊,汉字加上少数民族的文字最起码有好几万,这可怎么办呢,中国人就是聪明,那咱就少用点,取了127后面的一些数字,具体用的多少,我也记不得了,只要遇到这个区间的数字,就知道是中文,去另一个编码表里面找,这个里面存的都是中文,还有其他国家的文件,比如说日文,韩文等等,这个叫做gb2312编码,它收录了6000+个汉字,这样的话,就可以解决计算机不认识中文的问题了。但是中国文化,博大精深,岂止有6000+个汉字,然后又有了gbk、Unicode、UTF-8等等编码,Unicode编码也叫万国码,哪个国家的文字都适用,但是它不管你是一个英文字母,还是一个汉字都是占2个字节大小,原来ASCII码一个英文字母就占一个字节,这一下变大了,原来100G的东西,现在可能得200G才存的下,这可不行,然后就又出现了UTF-8字符集,它也属于Unicode,和Unicode的不一样的是,它对Unicode做了压缩,比如说英文字母的还是占一个字节,这样的话,就节省的很多的空间,这就是为啥现在大家都用utf8的原因。

五、python安装

  要注意的就是,如果想使用python命令需要把python的安装目录加到环境变量中,windows下还要把python安装目录下的scripts目录加入到环境变量中,因为一些python的可执行命令,比如说pip,是安装在这个目录下的,linux下因为默认带python了,如果要升级版本的,要先把系统自带的python改名或者卸载掉,再安装你要的python版本,centos下由于yum依赖自带的python2.6,所有不能卸载,修改下yum脚本里面的python环境变量位置即可。

六、运行python代码

Windows下,安装好python并且配置好环境变量之后,直接在命令行里面输入python就可以进入python交互式命令行了,linux下面也是一样(如下图)

安装完python之后Python也自带了一个idle(如下图),也就是可以在它里面写代码,但是那个比较不好用,这里就不赘述了。

但是这样写代码实在是太不方便了,怎么把代码都写好了,然后一起运行呢,就是把代码都写到文件里面,然后运行文件,以.py结尾的就是python文件,有很多python的编辑器,比如说pycharm、sublime  text、notepad++等等,都可以使用,使用编辑器有代码提示,可以很方便调试和运行,这里我推荐使用pycharm。新建一个python文件,然后写上代码,运行即可,如下图:

在linux下运行也是如此,和Windows下有一点不一样的是,liunx下可以直接运行python文件,前面不需要加python命令,加上执行权限即可,但是需要在python文件最前面指定python解释器,加上python解释器的路径即可,有两种写法,代码看下面,两种的区别是第一种是直接去你指定的目录下找python解释器,第二种是在自己配置的环境变量中去找python解释器,现在新建一个test.py的python文件

    #!/usr/bin/python #这种写法是去/usr/bin目录下去找python的解释器,如果在这个目录下没有python解释器或者python解释器在别的目录下,就会报错了
    print(‘Hello world!‘)

    #!/usr/bin/env python#这种写法是去环境变量中找你配置的python解释器目录,你配置在哪个目录下,它就去哪个目录下找python解释器
    print(‘Hello world!‘)
    下面是linux下的运行
    [[email protected] ~]# chmod +x test.py
    [[email protected] ~]# ./test.py
    Hello world!

七、变量

  变量是干嘛的呢?说的简单点,就是存东西,供后面来用的。python中定义变量很简单,一个等号搞定,也不需要指定数据类型,直接定义就好,值得一提的是python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量的话,新的变量通过之前那个变量知道那个变量值的内存地址存起来,而不是指向的之前那个变量。代码如下:

        name = ‘sriba‘
        new_name = name #new_name存的也是sriba的内存地址

变量的定义规则:

  变量名要见名知意,不能瞎写,瞎写到后面自己都看不懂那个变量是干啥的,不要用拼音,那样很low,更不要用中文当变量名,那是2b程序员干的事,但是python的确可以用中文当变量名!

        变量名只能是 字母、数字或下划线的任意组合
        变量名的第一个字符不能是数字
        以下关键字不能声明为变量名

     [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘,
     ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘,
     ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

八、python中的单引号、双引号和三引号

  python中定义变量的时候字符串都用用引号括起来,单引号和双引号没有区别,用啥都行,如果说这个字符串里面有单引号的话,那你外面就用双引号,里面有双引号的话,外面就用单引号,如果既有单又有双,那么用三引号,三引号也可以多行注释代码,单行注释,使用#,代码如下:

    msg = "I‘m Sriba." #有单引号,所以外面用双引号
    info = ‘Python comments ues "#".‘ ##有双引号,所以外面用单引号
    new_msg = ‘‘‘I‘m Sriba, i love "Python".‘‘‘#有双引号和双引号,所以外面用三引号
    ‘‘‘
    上面的代码是说明单引号、双引号和三引号的
    这一段是注释,说明三引号也有多行注释的功能
    ‘‘‘

九、输入&输出

  python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print输出,代码入下:

        name=input(‘Please enter your name:‘) #把接收到的值赋给name变量
        print(name)#输出接收到的输入

  input在接收输入的时候,是可以看到你输入的值的,如果是输入密码这样的呢,不想让别人看到你的密码,怎么办呢,就需要用到一个标准库getpass,什么是标准库呢,就是不需要你再去安装,装完python就有的库,就是标准库,getpass就是一个标准库,导入进来之后,直接使用getpass.getpass方法就可以在输入的时候,不回显了,代码如下:

                import getpass #导入getpass模块
                password = getpass.getpass(‘Please enter your password:‘) #接收输入的密码
                print(password)

十、条件判断

  python中条件判断使用if else来判断,多分支的话使用if elif ... else,也就是如果怎么怎么样就怎么怎么样,否则就怎么怎么这样,格式如下:

        if 明天下雨:
            那么明天带伞
        else:
            明天不带伞

  python中是以缩进来表示代码块的,这样看起来代码很有条理,比如说上面的例子,如果明天下雨,那么明天才会带伞,明天带伞就相当于if的儿子,所以也可以认为有缩进的都是有父子关系的,写个实际点的例子,如下:

                score = int(input(‘请输入你的分数:‘)) #接收输入,因为input接收的是一个字符串,所以需要用int函数强制类型转换成整数类型
                if score==100: #如果成绩等于100分的话
                    print(‘小天才,你是满分‘)
                elif score >=90 and score < 100: #如果成绩大于等于90分小于100分的话
                    print(‘兄弟,你的分数不低啊,不错‘)
                elif score > 60 and score <90:#如果成绩大于60分小于90分的话
                    print(‘兄弟,这次考试马马虎虎啊‘)
                else: #如果分数小于60分的话
                    print(‘兄弟,你在搞什么,该努力了‘)

十一、循环

  循环是干嘛的呢,说白了就是为你重复的去做事情,比如说你想建1000个文件夹,一个个建累死你, 这样就可以写段代码,使用循环给你创建1000个就省事了,python中有两种循环,while和for,两种循环的区别是,while循环之前,先判断一次,如果满足条件的话,再循环,for循环的时候必须有一个可迭代的对象,才能循环,比如说得有一个数组,值得一提的是,别的语言中,for循环的时候需要先定义一个计数器变量,然后从0开始加,直到这个计数器达到你预设的一个值,然后停止循环,取数据的时候也是通过数组的下标从0开始取,这样就很麻烦,python中for循环很简单,循环的是一个可迭代对象中的元素,你这个对象中有多少个元素,就循环多少次,比如说一个数组list,list = [‘a‘,‘b‘,‘c‘],在别的语言中要想获取到list中所有的值,必须得使用循环取下标这种方式去取数据,就得这样写list[x],list[x],list[x]这样,在Python里面就不需要直接循环就取的是这个list里面的值,循环里面还有两个比较重要的关键字,continue和break,continue的意思是,跳出本次循环,继续进行下一次循环,break的意思是停止循环,也就是说在continue和break下面的代码都是不执行的,格式如下:

    #while 循环
    count = 0
    while count<10: #如果count小于10的话,就执行下面的代码,如果不小于3就走else
            print(count)
            if count==5:
                break#如果count等于5的话,就结束循环
            count+=1 #这个意思是每次循环完,count的值就加一,如果不加的话,条件就一直为真了,就死循环了,一直不停的循环
    else:#这个else是可以不写的,意思就是说,如果条件不满足了去干嘛
            print(‘条件没满足‘)
    #for 循环
    names = [‘marry‘,‘lily‘,‘lilei‘]
    for name in names:
        if name == ‘lily‘:
            contiune #如果名字等于lily的话,就不执行continue下面的代码了,再循环下一次
         print(name)
    else:#for也有个else,不过这个一般没人写它,意思是如果正常循环完了去做什么
        print(‘over‘)
十二、小练习——写个小游戏吧

  既然我们已经学了条件判断和循环,那就用它来练习练习,写个小游戏,猜数字的游戏,要求是这样,产生一个随机数字,1-100之间,接收用户输入,如果猜对了,游戏结束,猜大了,提示猜大了,小了提示猜小了。产生随机数模块使用random.randint(1,101),是一个标准包,导入使用即可,代码如下:

import random
sub_str=random.randint(1,101) #生成1-100的一个随机数
while 1:#while的意思就是,让它一直为真,也就是死循环,下面通过break来停止循环
    num=int(input(‘plase enter a num , 1-100:‘))
    if num>100 and num<1: #判断输入的数字是否在1-100之间
        print(‘num error,plase enter 1-100.‘)
        continue
    else:
        if num==sub_str: #如果猜对了,结束循环
            print(‘You win. game over,the num is %d‘%sub_str)#不懂这个的请看下面的第十三,字符串格式化输出
            break
        elif num < sub_str:#如果猜小了,就跳出本次循环,提示猜小了
            print(‘The num is small,plase enter other num.‘)
            continue
        else:#就三种情况,大、小、等于,前面两种是等于和小于,那么else就是大于了,如果猜大了,就跳出本次循环,提示猜大了
            print(‘The num is too big,plase enter other num.‘)
            continue

十三、格式化输出

   格式化输出——就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

    name = input(‘请输入你的名字:‘)
    print(‘你的名字是‘+name) #使用加号连接
    print(‘你的名字是%s‘%name)#使用占位符
    print(‘你的名字是{your_name}‘.format(your_name=name)) #使用format格式化输出,{}里面的名字可以随便写但是
    要和后面的format中的名字保持一致,然后再把你前面定义的变量写到等号后面就可以了。
    age = 18
    print(‘我的名字是%s,年龄是%d岁.‘%(name,age))#这种是里面有多个格式化内容的,前面那个是字符串,后面这
    个是整数,多个变量的后面跟值的时候必须要加上括号
时间: 2024-10-14 04:23:55

python简介和入门的相关文章

Python自动化 【第一篇】:Python简介和入门

Python简介: 一.什么是python Python是一门动态解释性的强类型定义语言. pythonde 特点:“优雅”.“明确”.“简单”. 二.Python由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 三.目前Python主要应用领域 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发: 众多优秀的WEB框架,众多大

python——简介与入门

python简介:                                                                                                                         一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pythonde 设计哲学是:"优雅"."明确&

Python疗程一day1:Python简介和入门

python简介: 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pythonde 设计哲学是:“优雅”.“明确”.“简单” 二.python由来  1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团(Monty Py

【第一篇】:Python简介和入门

python简介:   python简介2 一.什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pythonde 设计哲学是:“优雅”.“明确”.“简单” 二.python由来  1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行

Python 简介与入门

Python 简介 Python (英国发音:/?pa?θ?n/ 美国发音:/?pa?θɑ?n/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等.目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube.Dropbox.BT.Quora(中国知乎).豆瓣.知乎.Google.Yahoo!.Face

初学入门Python【第一篇】:python简介和入门

零基础小白学Python,自带狗熊掰棒子属性,所以决定以博客形式来记载.总结.回顾python知识点 学习参考博客:http://www.cnblogs.com/wupeiqi/articles/4911365.html http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 http://www.cnblogs.com/luotianshuai/p/4930655.html Pytho

Python之路【第一篇】:Python简介和入门

python简介: 什么是python Python(英国发音:/ pa θ n/ 美国发音:/ pa θɑ n/),是一种面向对象.直译式的计算机程序语言. 每一门语言都有自己的哲学: pythonde 设计哲学是:"优雅"."明确"."简单" python由来 1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.之所以选中Python作为程序的名字,是因为他是BBC电视剧--

Python 第一篇:python简介和入门

一.python简介 1.python下载地址:https://www.python.org/downloads/ Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者. Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和

python简介及入门代码(hello world)

在学习之前,首先了解一下python的前世今生 一.python简介与发展: python 是一种面向对象的解释性计算机程序设计语言. python由荷兰人Guido van Rossum 于1989年发明. 1991年,第一个Python编译器诞生.它是用C语言实现的,并能够调用C语言的库文件.从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统. 1994年1月 python 1.0诞生,增加lambda,map,filter and

Python自学之路【第一篇】:Python简介和入门

Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五!!! 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内几