美文网首页
Python_day1_基础知识

Python_day1_基础知识

作者: 胖宝宝王 | 来源:发表于2016-01-27 21:17 被阅读41次

    python 简介

    python是一门广泛流行的动态语言。它不光可以写后端,还可以写web,图像处理,做自动化运维,自动化测试,爬虫,数据分析。

    特点

    • 纯面向对象语言,万物皆对象
    • 支持面向过程和面向对象的编程范式
    • 有着丰富的标准库和第三方库支持
    • 良好的可扩展性,可以很容易的和其他语言进行交互

    缺点

    • 忘掉吧!

    python主流种类

    • CPython. 官方版, 使用C语言实现, 使用最为广泛, 会将源代码z转换成字节码(.pyc)运行
    • JPython. 使用JAVA实现
    • PyPy. 使用Python实现,为速度而优化

    Python2 还是 Python3

    因为linux系统自带python2.x版本。所以在未来几年还是主要使用版本。
    但是3.x不管是从性能还是功能上,已经远远超越了2.x,python库基本上都可以在3.下使用了。所以是时候学习3.x了。

    What's new in Python3 ?

    • print to print()
    2.x: >>> print "hello world"
    3.x: >>> print("hello world")
    
    • raw_input() to input()
    2.x: >>> raw_input(">")
    3.x: >>> input(">")
    
    • All is unicode
      • 再也不用操心乱码问题
    • 数学运算
    2.x: 
    >>> 1/2
    0
    3.x: 
    >>> 1/2
    0.5
    

    第一个程序

    创建一个hello_world.py,内容如下

    #/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    print("hello world")
    

    第一行代码指定使用哪个python解释器,env会去找名叫python3的解释器来执行代码
    第二行代码指定了使用哪种编码

    执行代码

    $ python3 hello_world.py
    hello world
    

    缩进

    Python的代码既整洁又美观,因为它使用缩进来表示层级关系。
    推荐使用4个空格来代替Tab键。

    #/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    if True:
        print("Hello")
    else:
        print("World")
    
    

    就是这么干净,是不是更喜欢Python了呢!


    基本数据类型

    数据类型是重点,重点,重点

    数字

    • int,整数
      -3,-2,-1,0,1,2,3

    • float,包含小数
      1.2,0.1

    • 字符串
      使用单引号或双引号括起来的就是字符串。
      'Hello',"World"
      它们有什么区别:没什么区别,看个人心情。
      不过有个地方要注意一下
      test1 = 'I'm boy'
      test2 = "I'm boy"

      • 字符串格式化
        • 在python中,抛弃字符串拼接 “+”
        • 使用%s
    • 布尔型

      • True
      • False
      • 0 == False,1 == True
    • 列表
      • 定义一个列表 new_list = [1,2,3,4]
      • 列表操作
        • 列表通过索引(下标)获取数据,索引从0开始。如 new_list[0] 为1
        • append(object) 往列表末尾添加元素
        • clear() 清空列表所有元素
        • copy() 浅拷贝
        • count(value) 统计指定元素出现几次
        • index(value,[start,[stop]]) 查找指定元素第一次出现的下标
        • insert(index,object) 将元素插入指定位置
        • pop([index]) 默认删除列表最后一个元素
        • remove(value) 删除第一次出现的元素
        • sort() 对列表的元素进行排序
        • extend(iterable) 将iterable中的元素添加到列表中
    • 元组
      • 列表是可变的,而元组不可变
      • 声明一个元组
        • new_tuple = (0,1,2,3)
      • 元组操作
        • count()
        • index()
    • 字典
      • 存储的k-v键值对,查询速度超级快

    变量与赋值

    什么是变量?它是一个代号,通过变量,可以调取真实数据。
    先声明一个字符串变量
    name = 'wupeiqi'

    说明:

    1. 先声明一个变量名name
    2. 在内存中开辟一个空间,用来存储字符串 'wupeiqi'
    3. 通过 ‘=’ 把name 指向到存储 ‘wupeiqi’ 的内存地址
    变量说明

    现在来打印变量name
    print(name)

    变量名命名规则

    1. 只能以字母或者下划线开头

    2. 由字母下划线和数字组成
      合法变量名 a_1, _a1
      非法变量名 1_a

    3. Python关键字不能作为变量名,如 if else

    4. 尽量使用有意义的变量名


    用户交互

    很多情况下,程序需要通过用户的输入来进行程序的走向。
    比如程序不知道你的性别,所以就要用户告诉程序。

    Python3 使用 input()函数来获取用户输入
    sex = input("Are you are boy or girl? ")


    流程控制

    当知道了用户输入,就可以就此来做判断。
    条件判断 if ... elif ... else

    sex = input("Are you are boy or girl? ")
    
    if sex == "boy":
        print("去男厕")
    elif sex == "girl":
        print("去女厕")
    else:
        print("我也不知道你该去哪个厕所")
    

    循环

    这不行啊!如果用户不小心输错性别,那不得后悔死啊!
    所以就要用到循环来给用户更多的机会

    while 循环

    while True:
        sex = input("Are you are boy or girl? ")
        
        if sex == "boy":
            print("去男厕")
        elif sex == "girl":
            print("去女厕")
        else:
            print("我也不知道你该去哪个厕所")
    

    这下好了,用户总算可以找对厕所了。
    然而,用户又说了:为毛程序一直问我性别啊!输对了还问,傻13啊
    原来 while 的条件为 True,所以程序会一直运行。

    那就让程序知道为boy时退出(女生继续玩,嘿嘿)

    while True:
        sex = input("Are you are boy or girl? ")
        
        if sex == "boy":
            print("去男厕")
            exit() # exit() 退出程序
        elif sex == "girl":
            print("去女厕")
        else:
            print("我也不知道你该去哪个厕所")
    

    for 循环

    都说事不过三,不能老是犯错误吧!
    所以加个次数限制,如果还是错了,那真对不起了!

    这里限制3次

    for i in range(3):
        sex = input("Are you are boy or girl? ")
        
        if sex == "boy":
            print("去男厕")
            exit()
        elif sex == "girl":
            print("去女厕")
        else:
            print("我也不知道你该去哪个厕所")
            print("你到底是男是女还是~~")
    

    有两个关键字可以控制循环

    • break 跳出当前循环
    • continue 跳出本次循环,继续下一次循环

    文件操作

    打开文件hello_world.py
    new_file = open('hello_world.py','r')

    文件模式

    • r, 只读。
    • w, 只写。文件存在会覆盖重写,文件不存在会创建,
    • a, 追加。文件存在会定位到文件末尾添加新内容,文件不存在会创建并写入
    • w+

    一定要小心使用 w 模式,会抹掉文件内容的

    读取文件

    • new_file.read() 一次性读取所有内容
    • new_file.readlines() 按行读取所有内容,依次存储在列表中
    • new_file.readline() 一次读取一行

    写入文件
    new_file.write("xxx")

    关闭文件句柄
    new_file.close()

    使用with ... as ... 的方式可在运行完代码后自动close

    with open('hello_world.py','r') as f:
        print(f.read)
    

    待补充

    基础很枯燥,很乏味。但却是最重要的。
    没事多温习下,发现遗漏的知识点再补充进来。

    相关文章

      网友评论

          本文标题:Python_day1_基础知识

          本文链接:https://www.haomeiwen.com/subject/jvzdkttx.html