Python-day-02

初识Python

一、Python历史:

  • 1989年圣诞节:Guido van Rossum开始在Macintosh系统上编写Python语言的编译器。
  • 1991年2月:第一个Python编译器(同时也是解释器)诞生。
  • 1994年1月:Python 1.0 正式发布。
  • 2000年10月16日:Python 2.0 正式发布。
  • 2008年12月03日:Python 3.0 正式发布。

二、Python的优缺点

1、优点:

  • 简单和明确,做一件事只有一种方法。
  • 代码规范程度高,可读性强。
  • 开放源代码,拥有强大的社区和生态圈。
  • 解释型语言,完美的平台可移植性。
  • 支持两种主流编程范式,可以使用面向对象和函数式编程。
  • 可扩展性和可嵌入性,可以调用C/C++代码也可以在C/C++中调用。

2、缺点:

  • 执行效率低下。
  • 代码无法加密。
  • 开发时可选框架太多,容易出错。

三、Python的应用领域

  • 目前Python在云基础设施、DevOps/网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了服务器开发、数据接口开发、自动化运维、科学计算和数据可视化、聊天机器人开发、图像识别和处理等一系列的职位。

Python基础学习

一、快捷方式及版本介绍

control+/-----单行注释
control+s-----保存
control+n-----新建文件
control+c-----复制
control+v-----粘贴
control+a-----全选
control+x-----剪切
control+z-----撤销
control+y/control+shift+z-----反撤销
Tab-----缩进
control+b-----编译(执行)[其它 语言是control+r]
按住control不放,让鼠标可以在多个位置设置光标
control+f-----弹出搜索框
print函数是python内置函数,作用是在控制台打印print后面()里面的任何内容
()里面的单引号,是字符串的标志,而不是内容
在python 2.x中 print 'hello world'
在python 3.x中 print后面需要括号
A.B.C版本号。A--->重大修改(不向下兼容)B---> 添加新的功能 C---> 修复bug

二、Python基础语法

1、注释
  • 注释就是代码源文件中,用来注解说明的文字,不会对代码的功能产生任何影响
  • 注意:好的代码和好的程序员,需要对代码通过注释进行说明
#我是单行注释
"""
这是多行解释(开发里面一般用这个)
"""
'''
这是多行注释
'''

补充:编辑语言中涉及到的所有的符号,都是指的英文输入法状态下的符号

2、标识符
  • 标识符是用来程序中命名用的。(比如:变量名、类名、函数名)
    a.标识符是由字母、数字和下划线组成,并且数字不能开头(硬性)---python3.x中,标识符里面可以有中文
    b.不能是关键字(保留字)(硬性)
    c.大小写敏感(区分大小写,aaa和AAA、AAa是不一样的)
    d.要见名知义(规范)
    e.不推荐使用python中的内置函数、类名去作为标识符(规范)
3、关键字
  • 系统保留的有特殊功能或者特殊意义的一些单词。这些单词不能用来给变量\函数\类等命名。
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']
4、行与缩进
  • 缩进:每一行代码的位置,与行开头位置之间的空格
  • 在python中,缩进的写法有严格的规范。同一级的代码,必须在同一个缩进下面。
  • 如果在不该有空格产生的位置出现了多余的空格,程序会报错(IndentationError)。
  • 如果在需要缩进的时候没有缩进也会报错。
  • 关于行的规范:
    函数的声明的前后必须要有两个换行。一般一个功能实现完,实现下一个功能的时候,最好也换行
5、多行语句
  • 一条语句在多行显示
    a.在需要换行的地方加反斜杠(\),然后再换行。
    b.字典、列表、集合和元组等容器类型数据的字面量,在多行显示的时候可以直接换行。
    c.一条语句结束,可以不写分号;但是如果一行中要写多条语句,那么每条语句之间必须使用分号隔开。
print('圣诞节扒鸡我轻轻地法\
奇偶挖掘佛安排见佛区温泉万千瓦\
群威群胆群无多群无多群多请我的前雾灯')
print([1,2,3,4,
    5,6,7,8,9,
    10,11,12,])
print('aaa');print('bbb')
6、字面量
  • 数据类型对应的具体的值
10,100,-12  --->整数
12.5,3.1415926,-0.13 --->小数
12e2,9e-2 --->数字
9+10j --->复数
'hello world','123','abc',"abc","!35u" --->字符串
True,False --->布尔值(只有这两个)
[1,2,'hu','assd'] --->列表
{'a':1,'b':'123'} --->字典
7、python中的基本数据类型
  • 数字(整型(int)、浮点型、布尔、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none。
整型:int (在python2.x 有long)  -->值是所有的整数
浮点型:float  -->包含所有的小数,和科学计数
布尔:bool -->值只有True和False
复数:complex -->值包含所有的复数
可以通过type函数查看数据的类型:type(数据)
print(type(10e2))
print(type('abc'))

<class 'float'>
<class 'str'>
8、变量
  • 在程序中可以通过变量来存储数据(容器)
  • 怎么声明变量:
    严格来说,python中的变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量,
    因为python是动态语言,在声明的时候,不需要指定变量的类型,并且同一个变量可以赋不同类型的值。
格式:变量名=值
变量名:标识符,PEP8的命名方式(所有知名都小写,多个单词之间用_隔开,例如:user_name)
驼峰式命名:第一个单词首字母小写,后边每个单词的首字母都大学(例如:userName)
#声明了一个变量age,并且赋值未18
age=18
使用变量的时候,就相当于使用变量中存的值
print(age)
student_age=20
print(student_age)
print(type(student_age))

18
20
<class 'int'>

1.如果重新给一个变量赋值,那么新赋的值就会覆盖原来的值
2.同一个变量可以赋不同类型的值

student_age='abc'
print(student_age, type(student_age))

abc <class 'str'>

补充:
一个数据有type(类型)、id(数据存储在计算机的地址)和value(值)三个属性
变量存储数据的时候,有两种情况。第一种情况:存value --->数字类型、字符串,第二种情况:存id --->列表、字典、元组、集合、类的对象。

number=10
print(id(number))

140734591456576
9、运算符
  • 数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符(针对二进制的每一位)。

(1)、数学运算符(+、-、、/、%、*、//)
+:求和
注意:求和操作,+两边必须是数字类型

Ture-->1  False-->0
print(10+20)
print(10+23.3,True+1) 
number=100+11
print(number)

30
33.3 2
111

-:求差

print(100-12)

88

*:求乘积

print(3.12*2)
number=3*9
print(number)

6.24
27

/:求商

print(5/2)

2.5

%:求两个数相除的余数

print(3%2)

1

**:幂运算

#X**Y:求X的Y次方
number=2**3
print(number)
number=4.2**3
print(number)

8
74.08800000000001    # 浮点数在计算机中储存的时候,有的时候会有一定的误差

//:整除

# 求商,只取商的整数部分
print(5//2)

2
# 取一个二位整数的十位数
print(78//10)

7
#取2345中的4:
print(2345%100//10)
print(2345//10%10)

4
4

(2).比较运算符
包含:>、<、==、>=、<=、!=

  • 比较运算符的结果全部为布尔:True、False
1.>
# x>y:判断x是否大于y,如果是结果是Ture,否则是False
resulut=10>20
print(resulut,100>20)

False True

2.<
print(10<20)

True

3.==
# x==y:如果x和y相等,结果就是True,否则是False
number=12.5
number2=12
print(number==number2)

False

4.>=、<=
10>=5    True
10>=10   True

5.!=
x! =y:如果x和y不相等,结果是True,否则是False

6.在python中,可以像数学中一样,连续判断.
number=15
resulut=10<number<20  #判断nuber是否在10到20之间
print(resulut) 

True

(3).逻辑运算符
包含:与(and)、或(or)、非(not)

  • 逻辑运算符的运算数据是布尔值,结果也是布尔值
  • 布尔1 and 布尔2 :都为True结果才是True,只要有一个是False,都是False。 并且
    需要两个或者多个条件同时满足,就使用逻辑与(and)
  • 布尔1 or 布尔2:只要有1个是True,结过就是True,两个都是False,才是Fslse。 或者
    需要两个活多个条件中,满足一个就可以,就使用逻辑或(or)
  • not 布尔1:如果是Ture,结果就是False;如果是False,结果就是True。 取反
    需要不满足某个条件的时候才为True
# 写一个条件,判断一个人的年龄是否满足青年的条件(年龄大于18并且小于28,而且不是是20岁)
age=30
print(age>18 and age<28 and age!=20 )

False

# 平均成绩大于90分,或者操评分大于100,并且英语成绩还不能小于80分
score=80
score2=90
english=70
print(score>90 or score2>100 and english>=80)

False

# 成绩不低于60分
score=70
print(score>=60)
print(not score<60)

True

(4).赋值运算符
包含:=,+=,-=,=,/=,%=,*=,//=

  • 赋值运算符的作用:将赋值符号右边的表达式的值赋给左边的变量。
  • 表达式:有一个具体结果的语句,例如:10,'abc',10+20,30>10.5等。
  • 赋值符号的左边必须是变量。
  • 赋值符号,是先算右边的结果,然后再把结果赋给左边的变量。
number=100

number += 10  #相当于:number=number+10
print(number)

110
number *= 2   #相当于:number=number*2
print(number)

220

(5).运算符的优先级

  • 优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算数运算符。
  • 算数运算符中:先幂运算再乘除取余取整再加减。
  • 如果你不确定运算顺序,可以通过添加括号来改变运算顺序,有括号就先算括号里面的。
resulut=10+20>15 and 7*8<30+60
# resulut=30>15 and 56<90
# resulut=True and True
# resulut=True
print(resulut)

True

print(10+20*3/2-10%3)
# 10+30-1
# 39

39

print(10+20*3/(2-10)%3)
# 10+20*3/(-8)%3
# 10+60/(-8)%3
# 10+(-7.5)%3
# 10+1.5
# 11.5

11.5
10、进制
  • 认识十进制、二进制、八进制、十六进制。
    (1)、十进制
基数:0,1,2,3,4,5,6,7,8,9,
特点:逢10进1   10--->10
12345=5+40+300+2000+10000
     =5*1+4*10+3*100+2*1000+1*10000
     =5*(10^0)+4*(10^1)+3*(10^2)+2*(10^3)+1*(10^4)

(2)、二进制

基数:0,1
特点:逢2进1    10--->2
101011=1*(2^0)+1*(2^1)+0*(2^2)+1*(2^3)+0*(2^4)+1*(2^5)
      =1+2+8+32
      =43

(3)、八进制

基数:0,1,2,3,4,5,6,7
特点:逢8进1  12--->10
24=4*(8^0)+2*(8^1)=20

(4)、十六进制

基数:0-9,a-f(A-F) ----a=10,b=11,c=12,d=13,e=14,f=15
特点:逢16进1    a--->10
2f=47
  • 进制间的转换:
    十进制转换成其它进制;整除取余法
    八进制转二进制:一位八进制转换成三位二进制--->23=010 011
    十六进制转二进制:一位十六进制转换成四位二进制--->2f=0010 1111
  • .python中的二进制、八进制和十六进制
    (1)默认的数字都是十进制
169       10进制数

(2)基数是0,1,并且数字前加前缀0b表示二进制

0b1011
print(0b1011)
# 0b1234        #报错 SyntaxError
bin(整数)--->将其他进制的整数转换成二进制数
print(bin(10))
print(bin(0x10))

11
0b1010

(3)基数是0-7,并且数字前加0o或者0O表示八进制

0o176
0O123
oct(整数)--->将其他进制的整数转换成八进制
print(oct(10))
print(oct(0x10))

0o12
0o20

(4)基数0-9,a-f(A-F),并且数字前加0x或者0X表示十六进制

0x1a
0X2af
print(0xff)
hex(整数)--->将其他进制的整数转换成十六进制
print(hex(10))
print(hex(0b101011))

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

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,145评论 0 13
  • 作业 day2作业:1.下列四组数,依次为二进制、八进制和十六进制,符合要求的是(D)a. 12, 77, 1...
    Toto_fa49阅读 217评论 0 6
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,743评论 0 10
  • 一、PyCharm的基本使用1.1、注释:为了方便自己或者其他人查看单行注释:用 # 号单行注释多行注释: 用 ...
    IIronMan阅读 8,854评论 3 18
  • day02-python基础语法 一、hello world 1快捷方式control+/----单行注释cont...
    liuperson阅读 222评论 0 6