Python_day1_基础知识

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)

待补充

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • 本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入...
    小小不懂11阅读 3,411评论 2 30
  • Python简介 Python历史 Python 是由 Guido van Rossum 在八十年代末和九十年代初...
    莫名其妙的一生阅读 1,044评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,598评论 18 399
  • 1.应试教育,培养的人:急功近利,没有解决问题的能力,不具有学习新事物的能力,不具有自主爱学习的性格,不关心社会真...
    刘书亚的天堂之路阅读 203评论 0 0