首页 > 代码库 > 初识Python

初识Python

一、什么是python?

python是一种面向对象、解释型的计算机语言,它的特点是语法简洁、优雅、简单易学。在1989诞生,Guido(龟叔)开发。这里的python并不是蟒蛇的意思,而是龟叔非常喜欢一部叫做《Monty Python飞行马戏团》的电视剧,所以以python命名(老外就是这么任性)。

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

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

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

三、Python随记要点:

1.输出。第一个程序Hello World!

第一个写的程序照例不能免俗地输出hello world!来写第一个程序吧,print函数来实现:

print(‘Hello World!‘)

2.变量

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

变量的定义规则:

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

  [‘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‘]

3.python中的单引号、双引号和三引号

python中定义变量的时候字符串都用用引号括起来,单引号和双引号没有区别,用啥都行,

(1).里面有双引号的,外面用单引号,里面有双引号的外面用单引号
(2).如果里面双引号单引号都有的话,就用三个引号‘‘‘ ‘‘‘
(3).三个单引号还有批量注释的功能

4.输入、输出

python怎么来接收用户输入呢,使用input函数,代码如下:

                                      name=input(‘请输入您的名字:‘)#把接受到的值赋给name变量
print(name)#输出接收到的输入
 

input在接收输入的时候,是可以看到你输入的值的,如果是输入密码不想让别人看到你的密码,就需要用到一个标准库getpass,直接使用getpass.getpass方法就可以在输入的时候,不会显示输入的内容,代码如下:

                                            import getpass
passwd = getpass.getpass(‘请输入您的密码:‘)
print (passwd)
 

5.条件判断

python中条件判断使用if else来判断,多分支的话使用if elif ... else。python中是以缩进来表示代码块的。代码示例如下:

 
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(‘该努力了!‘)
 

6.循环

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下面的代码都是不执行的,格式如下:

#if判断时候,都是判断的真或者假,也就是True和False
#记住一句话,非0即真,非空即真

 
  #while 循环
    count 0
    while count<10#如果count小于10的话,就执行下面的代码,如果不小于3就走else
            print(count)
            if count==5:
                break#如果count等于5的话,就结束循环
            count+=#这个意思是每次循环完,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‘)
 

7.Let‘s play!猜数字的小游戏

既然我们已经学了条件判断和循环,那就用它来练习练习,写个小游戏,猜数字的游戏,要求是这样,产生一个随机数字,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
 
 

8.格式化输出

什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了

A.第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;

B.第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;

C.第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

name = input(‘请输入你的名字:‘)
sex = input(‘请输入你的性别:‘)
print(‘欢迎你‘+name)#第一种用+号连接
print(‘欢迎你‘,name)#第二种用,号连接
print(‘欢迎你%s‘%name) #一个变量的时候使用占位符
print(‘欢迎你%s,你的性别是%s‘%(name,sex))#多个变量的时候使用占位符
%d 代表后面的变量是整数
%f 代表后面跟的小数 %.2f 保留几位小数,会四舍五入


age = int(input(‘请输入一个整数:‘))
grade = float(input("请输入你的成绩:"))
print(‘输入的整数是%d,输入的成绩是%.2f ‘%(age,grade))
print(‘你的成绩是%.2f‘%grade)
print(‘你的年龄是{your_age},你的成绩是‘
‘{your_grade}‘.format(your_age=age,your_grade=grade))
如果参数比较少的情况下用占位符比较简单
如果参数比较多的情况下,用.format这种方式格式化更为直观

 

9.部分知识拾遗

(1).单行注释,使用#

(2).注释快捷键:ctrl+/ 

(3).ctrl + d   快速复制一行
(4).input()函数接收到的值,全部都是字符串类型的,如果要和int类型做比较的话,必须用int()把字符串转成int类型的,才能做比较。

(5). type 查看变量类型

(6). print(1/2)  除法

      print(1//2)#地板除,就是自动取整,不会四舍五入,直接把小数部分抹去

注:在python2里面,这么运算print(1/2),结果是不正确的,因为在python2里int和int类型运算会自动取整,在python3里面是没有任何问题的

 

初识Python