day_001 Python的发展与基础知识

一、Python的发展

是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年,Python2.x版本首发于2001年,Python3.x版本首发于2009年,现在Python3.x是主流版本,Python3.x版本以后不向下兼容。IEEE发布2017年编程语言排行榜中Python高居首位。2018年3月,该语言作者在邮件列表上宣布Python 2.7将于2020年1月1日终止支持。用户如果想要在这个日期之后继续得到与Python 2.7有关的支持,则需要付费给商业供应商。

二、Sublime的使用技巧

sublime中有一些常用的的快捷方式,这些快捷方式可以提高我们的开发效率。
ctrl + / ----- 单行注释
ctrl + s ----- 保存
ctrl + b ----- 编译(编译执行)
ctrl + n ----- 新建文件
ctrl + c ----- 复制
ctrl + v ----- 粘贴
ctrl + a ----- 全选
ctrl + x ----- 剪切
ctrl + z ----- 撤销
ctrl + y / ctrl + shift + z ----- 反撤销
ctrl + 鼠标左键 ----- 同时在多个位置设置光标
ctrl + f ----- 弹出搜索框

三、Python的基础语法知识

1.基本注意事项

  • 版本号格式:A.B.C A-->重大修改(不向下兼容)B-->添加新的功能 C-->修复bug
  • 编程语言中涉及到的符号,都是指的英文输入法状态下的符号

2.print函数

要点:

  • print函数是python内置的函数,作用是在控制台打印该函数中的内容
  • ()里面的单/双引号,是字符串的标志,不是内容
  • print()函数可以打印所有类型的变量
  • python2.x中,print函数的用法是:print 'hello world'
  • python3.x中,print函数的用法是:print("Hello World!")

示例:

print("Hello World!")
print(1+2)

结果:

Hello World!
3

3.注释

要点:

  • 注释就是代码源文件中,用来注解说明的文字,不会对代码的功能产生任何影响
  • 注意:好的代码和好的程序员,需要对代码通过注释进行说明
  • 提高代码的可读性,有利于代码后期的开发和维护

具体使用方法:
单行注释方式:# 后跟注释内容
快捷操作:ctrl + /

# 我是单行注释

多行注释方式:成对的3个双引号或者3个单引号

"""
这是多行注释
"""
'''
这是多行注释
'''

4.标识符

要点:

  • 标识符是用来程序中命名用的。(比如:变量名、类名、函数名)
  • 标识符是由字母、数字和下划线组成,并且数字不能开头(硬性要求) ----- python3.x中标识符中可以有中文(不推荐)
  • 不能是关键字(保留字)(硬性要求)
  • 大小写铭感(区分大小写)
  • 要见名知意(规范)
  • 不推荐使用python中的内置函数、类名作为标识符(规范)

示例:

变量1 = 2
print('变量1:', 变量1)

结果:

变量1: 2

5.关键字

要点:

  • 系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用来命名变量/函数/类

查看python中的关键字:

import keyword
print(keyword.kwlist)

结果:

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

6.行与缩进

  • 缩进:代码书写的位置和行开头的位置之间的空格。

  • 在python中缩进的写法有严格的规范。同一级的代码必须写在同一个缩进下面。

  • 如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError)。

  • 在需要缩进的时候没有缩进会报错。

  • 关于行的规范:
    函数和类的声明的前后必须有两个换行,一般一个功能实现完,实现显下一个功能时换行。

示例:for循环内的语句需要缩进。

for i in range(10):
    print(i)

7.多行语句

要点:

  • 一条语句在多行显示
    a.在需要换行的地方加反斜杠(\),然后换行
    b.字典、列表。集合和元组等容器类型数据的字面量,在多好现实的时候可以直接换行

  • python一条语句结束后可以不写分号;如果一行中要写多条语句,必须用分号隔开。

示例:

print('这是一条很长的语句句\
    句句句句句句句句句句句句句句\
    句句句句句句句句句句句句句句句句句句句句句句句句句句')

print([1,2,3,4,5,
    6,7,8,9,
    10,11,12])

print('hello'); print('world')

结果:

这是一条很长的语句句  句句句句句句句句句句句句句句  句句句句句句句句句句句句句句句句句句句句句句句句句句
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
hello
world

8.字面量

要点:

  • 数据类型对应的具体的值

示例:
10,100,-12 --> 整形
12.5,3.1415936,-0.13 --> 浮点型
12e2,9e-2 --> 浮点型(科学计数法)
9 + 10j --> 复数
'hello world','123',"123","!sdf2" --> 字符串
True,False --> 布尔型
[1,2,'yang','234'] --> 列表
{'a' : 1, 'b' : 2} --> 字典

9.Python中的基本数据类型

Python中的基本数据类型有:数字(整形(int)、浮点型(float)、布尔型、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none(代表空)

  • 整形:int (在python2.x中有long) --> 值是所有的整数
  • 浮点型:float --> 包含所有的小数
  • 布尔型:bool --> 值只有True和False
  • 复数:complex --> 值包含所有的复数
    要点:
    可以通过type()函数查看数据类型
    示例:
print(type("hello"))
print(type(10e2))

结果:

<class 'str'>
<class 'float'>

四、变量

要点:

  • 在程序中可以通过变量来存储数据(容器)
  • 严格的来说,python中额变量是不需要声明的,可以直接赋值符号(=)给变量赋值,就是在声明变量
  • 因为python是动态语言,在声明的时候,不需要指定变量的类型,并且同一个变量可以赋不同类型的值
  • 格式:变量名 = 值
  • 变量名:标识符,PEP8的命名方式(所有的字母小写,多个单词间用'_'隔开,例如:user_name)
  • 驼峰式命名:第一个单词的首字母小写,后面额单词首字母大写(例如:userName)
  • 一个数据有type(类型)、id(数据存储在计算机中的地址)和value(值)三个属性
  • 变量存储数据的时候,有两种情况。第一种:存value --> 数字、字符串类型;第二种:存id --> 字典、元组、列表、集合、类和对象等

示例:

age = 18
print(age)

student_name = 'mark'
print("学生的名字为:",student_name, type(student_name))

# 查看grade的存储地址
grade = 9
print(id(grade))

结果:

18
学生的名字为: mark <class 'str'>
140734625666336

五、运算符

Python的运算符有:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)

1.数学运算符

Python中的数学运算符有:+、-、*、/、%、**、//
要点:

  • +:求和
    注意:求和操作,+两边必须都是数字类型
    Ture --> 1 False --> 0
  • -:求差
  • *:求乘积
  • /:求商
  • %:求余数
  • **:幂运算
    x ** y: 求x的y次方
    浮点数在计算机存储的时候,有的时候会有一定的误差
  • //:整除
    求商,只求商的整数部分

示例:
取2345的4

#方法一
print(2345%100//10)

#方法二
print(2345//10%10)

#方法三
*first,middle,last = '2345'
print(middle)

结果:

4
4
4

2.比较运算符

Python的比较运算符有:>、<、==、>=、<=、!=
比较运算符的结果全是布尔型:True、False
要点:

  • >:
    A > B:判断A是否大于B,如果是结果是True,否则是False
  • <:
    A < B:判断A是否小于B,如果是结果是True,否则是False
  • ==:
    A == B: 如果A和B相等,结果为True,否则为False
  • >=:
    A >= B:判断A是否大于等于B,如果是结果是True,否则是False
  • <=:
    A <= B:判断A是否小于等于B,如果是结果是True,否则是False
  • !=:
    A != B:如果A和B不相等,结果为True,否则为False
  • 在python中可以像数学中一样连续判断

示例:

num = 10
print(5<num<15)

结果:

True

3.逻辑运算符

Python的逻辑运算符有:与(and)、或(or)、非(not)
要点:

  • 逻辑运算符的运算数据是布尔值,结果也是布尔值
  • A and B:A和B都为True时结果为True
  • A or B:有一个或者两个为True,结果为True,都为False时结果为False。
  • not A:如果是True,结果为False,反之为True。

示例:

age = 22
print(age > 18 and age < 28)

结果:

True

4.赋值运算符

Python的赋值运算符有:=、+=、-=、*=、/=、%=、**=、//=
要点:

  • 赋值运算符的作用:将赋值符号右边的表达式的值赋值给左边的变量
  • 表达式:有结果的语句,例如:10,'abc',10+20,30>6等
  • 赋值符号的左边必须是变量
  • 赋值符号是先算右边的结果,然后把结果赋值给左边额变量

示例:

number = 100

number += 10 # number += 10 同等于 number = number + 10
print(number)

number *= 2 # 同等于 number = number * 2
print(number)

number /= 5 # 同等于 number = numbere / 5
print(number)

结果:

110
220
44.0

5.运算符的优先级

优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算术运算符
算数运算符中:先幂运算再乘除取余取整最后加减

如果不确定运算顺序,可以通过添加括号来改变运算顺序,括号优先级最高

六、进制转换

数据在计算机中的存储,存的都是二进制数

1.认识十进制、二进制、八进制、十六进制

  • 十进制
    基数:0,1,2,3,4,5,6,7,8,9
    特点:逢10进1
    12345= 5100+4101+3102+2103+110*4
  • 二进制
    基数:0,1
    特点:逢2进1
    1111 = 120+121+122+12**3
    = 1+2+4+8
    = 15
  • 八进制
    基数:0,1,2,3,4,5,6,7
    特点:逢8进1
    24 = 480+28**1
    = 4+16
    = 20
  • 十六进制
    基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
    特点:逢G进1
    A8 = 8160+1016**1
    = 8+160
    = 168
  • 进制间的转换:
    十进制转换成其他进制:整除取余法
    八进制转二进制:一位八进制转换为3位二进制 --> 23 = 010 011
    十六进制转二进制:一位十六进制转换为4位二进制 --> 23 = 0010 0011

2.python中的二进制、八进制、十六进制

  • 十进制数
    169 ----- 十进制数
  • 二进制数
    0b1111 ----- 二进制数(基数是0,1,并且前缀为0b或0B)
    bin(整数) ----- 其他进制的整数转换为二进制数

示例:

print(bin(10))
print(bin(0o10))
print(bin(0x2f))

结果:

0b1010
0b1000
0b101111
  • 八进制数
    0o164 ------ 八进制数(基数是0到7,并且前缀为0o或0O)
    oct(整数) ------ 其他进制的整数转换为八进制数

示例:

print(oct(0b1111))
print(oct(10))
print(oct(0x2f))

结果:

0o17
0o12
0o57
  • 十六进制数
    0x2f ------ 十六进制数(基数是0到f,并且前缀为0x或0X)
    hex(整数) ------ 其他进制的整数转换为十六进制数

示例:

print(hex(0b1111))
print(hex(0o164))
print(hex(10))

结果:

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

推荐阅读更多精彩内容