python基础篇

python基础篇

python是一种面向对象、解释型的计算机语言

一.解释型语言和编译型语言

 编译型语言:把写好的程序翻译成计算机语言然后执行,一次编译到处运行,比如c、c++就是编译型语言,特点是运行速度快,前提条件:先把程序编译好。

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

二.字符集

Python2.x版本中默认字符集是ASCII编码,写中文会报错

python3.x版本中默认字符集是utf-8,支持中文

瞎说:什么是2进制,就是0,1,计算机只识别这俩数字,0或1为一"位",规定8位为一个字节,字节是表示现实世界字符的最基本的一个单元,比如说一个英文字母,一个字节是8位,也就是最多能存8个0或者1,8位二进制最大值是255

ASCII码表:http://www.96yx.com/tool/ASC2.htm--127个数字,代表了所有的英文大小写字母和符号

三.变量

 python定义变量不需要指定数据类型, 变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量的话,新的变量通过之前那个变量知道那个变量值的内存地址存起来,而不是指向的之前那个变量。代码如下:

        name = '金三胖'

        new_name = name #new_name存的也是金三胖的内存地址

变量的定义规则:

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

     ['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 金三胖." #有单引号,所以外面用双引号
 info = 'Python comments ues "#".' ##有双引号,所以外面用单引号
 new_msg = '''I'm 金三胖, i love "Python".'''#有双引号和双引号,所以外面用三引号
    '''
    上面的代码是说明单引号、双引号和三引号的
    这一段是注释,说明三引号也有多行注释的功能
    '''

五.输入、输出

       python接收用户输入用input函数,输出用print

python2中使用raw_input,接收的是一个字符串

代码入下:

 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,也就是如果怎么怎么样就怎么怎么样,否则就怎么怎么这样,格式如下:

注: 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('兄弟,你在搞什么,该努力了')

七.循环

while和for两种循环的区别:

while循环之前,先判断一次,如果满足条件的话,再循环,

for循环的时候必须有一个可迭代的对象,才能循环

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')

八.格式化输出

格式化输出三种方式:

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

第二种是用占位符,占位符有常用的有三种,%s、%d和%f

%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;

第三种是使用{}和fromat方法,

第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:

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

九.Python快捷键

十.文件读写

python中的读文件:

  python中提供了一个函数open(name[, mode[, buffering]]) -> file object,【后面两个参数可选】

mode: 默认mode为r读模式,mode有几个值,r,w,a,分别为读,写,追加写入文件,其中r必须是存在的文件,w和a对不存在的文件会自动创建文件r+, 这个是读写模式,这个也要求文件必须存在,好处是,打开文件后,可写可读,rb, wb,r+b等模式,这些在windows系统下为二进制的方式进行读取,在Linux下没有区别

buffering的值为: 0没有缓冲区大小,1按行读取文件, 大于1的为指定的字节数,返回一个文件对象   

如: f = open("/data/test.log")   -> 大开一个模式为读文件,没有缓冲的文件对象

 f = open("/data/test.log", 'r', ) ->跟上一个一样

f = open("/data/test.log", 'rw') ->读写文件

    读入文件内容(按行读取):

                       content = f.read()  ->将全部的文本一次读出

                       lineList = f.readlines() ->将文件按行读出,读出后转换为一个list存储

                       lineList = list(f) -> 同f.readlines(),这样可以利用for循环来操作没一行

如:for line in f.readlines():print line

还可以直接对文件对象用for循环操作:for line in f:   print line

 按字节读取文件: content = f.read(size)  ->读入指定的大小的字节,若未指定,则表示读入整个文件或当前位置到最后

 f.seek(offset[, whence]) -> 将当前的读入指针移动到指定的位置:这里取决于whence的值, 默认为0,0绝对位置, 1,相对位置,2,从文件末尾倒数 。如:

  f.seek(100)   ->指针跳到第100个字节

f.seek(100, 1) ->指针跳到离当前位置的100个字节位置,即currentPosition + 100

f.seek(-100, 2) ->指针跳到文件末尾倒数第100个字节的位置

文件写入:

f = open("/data/test.log", 'w')   ->这个模式为:若文件不存在,创建文件,若存在,当写入文件后,原来的全部内容清楚

f= open("/data/test.log", 'a')   ->这个模式为追加append,若文件不存在,创建文件,即在现有的内容中在后面添加写入的内容

f.write("something")   ->写入相应的文件,如要一行一行写入,必须在后面加上"\n"

f.writelines(stringList) ->一次写入多行,传入的是一个字符串的list

f.tell() ->告诉当前的文件指针,每读文件一次,都在改变

f.close() ->关闭文件 

十一.python工具

  1. Sublime Text
  2. PyCharm

推荐博客地址:http://www.nnzhp.cn/article/13/

转载于:https://www.cnblogs.com/ningxin92/p/6051133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值