Day_02 Python 数据类型

sublime Text 快捷键

常用的快捷方式:
1.单行注释Ctrl + / ---单行注释
2.Ctrl + S 保存
3.Ctrl + B 编译执行代码
4.Ctrl + n 新建文件
5.Ctrl + c 复制
6.Ctrl + v 粘贴
7.Ctrl + a 全选
8.Ctrl + x 剪切
9.Ctrl + z 撤销
10.Ctrl + y or Ctrl + shift + z 反撤销
11.按住Ctrl不放,鼠标可以同时在多个位置设置光标
12.按住shift不放,同时选中多行
13.Ctrl + f 搜索

注意事项:

print 是Python提供的内置函数,作用是打印控制台print()里的任何内容
print()里的单引号,是字符串的标志,不是内容
在Python2.x中 print 'hello world' Python3.x中语法变为print()
A.B.C A版本号(重大修改->不一定向下兼容) B 更新的功能 C bug修复

Python基础语法

1.注释:代码的说明文字,不会对代码的功能产生任何影响

注意:好的程序员和好的代码都需要对代码进行注释

多行注释 '''多行注释 ''' """多行注释"""
'''
多行注释
'''
"""
多行注释
"""

注意事项:

编程语言中涉及到的符号都是英文状态下的

标识符:用来程序中命名用的。(比如变量名 类名 函数名)
标识符:字母、数字、下划线组成,且不能以数字开头 Python3.x中标识符可以有中文
标识符:关键字(保留字)不能用作标识符
标识符:区分大小写
标识符:命名规范,见名知意
不推荐使用Python中的内置函数或类名去作为标识符

关键字

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

import keyword
 print(keyword.kwlist)

'False', 'None', 'True', 'and', 'as','assert', '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'

行与缩进

在Python中缩进的写法有严格的规范。同一级的代码必须写在同一个缩进下面。
缩进:每一行代码的位置与行开头的位置之间的空格,如果在不该有空格产生的位置出现了多余的空格程序会报错,需要缩进的时候没有缩进也会报错。
例:

print('a') 成功运行
 print('a') 运行失败 IndentationError: unexpected indent

例:

if True:
    print("ss")  成功运行

if True:
print("ss")  运行失败 IndentationError: expected an indented block
关于行的规范:

函数和类的声明前后必须要有两个换行,一般情况下一个功能实现完,实现下一个功能的时候最好也换行。

多行语句:

一条语句在多行显示。Python中一条语句结束后可以不写分号,如果一行语句写多条语句,每条语句必须用分号隔开。

print('a');print('b')

a
b

多行语句实现方式

方法1:在需要换行的地方加\然后再换行

print('sssssssssssss\
sssssss\
ssss')


ssssssssssssssssssssssss

方法2:字典、列表、集合、元组等容器类型数据的字面量,再多行显示的时候可以直接换行。

print([1,2,3,4,
    5,6,7,
    8,9,0])


[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

字面量

数据类型对应的具体的值

Python3.X中的基本数据类型

数字(整型(int)、浮点型(float)、布尔(True\False)、复数)、字符串(str)、列表(list)、字典(dict)、集合(set)、元组(tuple)、none-->表示空
整型:int----包含所有的整数,在Python2.X版本中整型还有long型
浮点型:float---包含所有小数,Python中只有float型
布尔:bool---值只有true和false
复数:complex---包含所有的复数
科学计数属于浮点型

type函数查看数据类型

print(type(12e-1))

<class 'float'>
[Finished in 0.3s]

Python 变量

1.什么是变量

在程序中可以通过变量来存储数据(容器)

2.变量的声明

严格来说Python中的变量是不需要声明的,直接通过赋值符号(=)给变量赋值,就是在声明变量。
因为Python是动态语言,在声明变量的时候,不需要指定变量的类型,并且同一个变量可以赋不同类型的值。

a=10
a='a'
print(a)
a
[Finished in 0.2s]

Python中变量是不需要去说明变量类型的。
格式:变量名 = 值 区别于其他语言 类型 变量名 = 值
变量名:标识符,PEP8的命名方式(所有的字母都小写,多个单词之间用下划线隔开)例:user_name

科普:驼峰式命名:第一个单词首字母小写,后面每个单词首字母大写(sysRedNumber)

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

查看变量的地址:

print(id(a))

2172704
[Finished in 0.2s]

运算符

分类:数学运算符、比较运算符、逻辑运算符、赋值运算符、位运算符

数学运算符(+,-,,/,%(取余),*(幂运算),//(整除取商))
+ :求和 +号两边必须是数字类型
例:
print(10+20,True+1)

30 2
[Finished in 0.3s]
- :求差
* :求乘积
print(2.13*2)

4.26
/ : 求商
print(4/2)
print(5/2)

2.0
2.5
[Finished in 0.3s]
% : 取余
print(3%2)
print(98%4)

1
2
[Finished in 0.3s]
** : 求幂运算 x**y x的y次方
print(12**8)
print(2.2**8)

429981696
548.7587353600004
[Finished in 0.2s]
[Finished in 0.3s]

注意:浮点数在计算机中存储的时候,有的时候会有一定的误差

// : 整除,求商,只取商的整数部分

print(10//2)
print(5//2)

5
2
[Finished in 0.3s]

取一个二位整数的十位数(78):

print(78//10)

取2345中的4

print(2345%100//10)
print(2345//10%10)




比较运算符<、>、==、>=、<=、!=

注意:比较运算符的结果全是布尔:True、False

> : 大于 x>y 判断x是否大于y,如果x>y,结果为True,反之,False
< : 小于 x<y 判断x是否小于y,如果x<y,结果为True,反之,False
== : 判断等号两边是否相等,相等为True,反之,False
>= : 大于或等于 判断运算符两边左边是否大于或等于右边,成立,True,反之,False
<= : 小于或等于 判断运算符两边左边是否小于或等于右边,成立,True,反之,False
!= : 不等于 判断运算符两边是否不相等 成立,True,反之,False

补充:Python中判断一个数是否在某个范围内,可以像数学中一样,连续判断

number = 15
result = 10<number<20
print(result)

True
逻辑运算符

与(and)、或(or)、非(not)
与(and)、或(or)、非(not)
注意:逻辑运算符的运算数据是布尔值,结果也是布尔值
and:bool1 and bool2 两个都为True结果才是True,只要有一个是False,结果为False
and 表示同时满足条件
or: bool1 or bool2 只要有一个是True,结果就是True,两个都是False时,结果为False
or 表示只要一个条件满足即可
not: not bool1, bool1为True,结果为False,如果bool1为False,结果为True
not 表示不满足某个条件



判断一个人的年龄是否大于18并且小于20

age = 19
result = age>18 and age<20
print(result)

True
赋值运算符

=, +=, -=, =, /=, %= ,=, //=*
赋值运算符的作用:将赋值运算符号右边的表达式的值赋给左边的变量
表达式:有结果的语句
赋值符号的左边必须是变量
赋值符号,是先算右边的结果,然后再把结果赋给左边的变量

运算符优先级

优先级从低到高:赋值运算符<逻辑运算符<比较运算符<算术运算符

result = 10 + 20>15 and 7*8<30 +60
result = 30 >15 and 56 <90
result = True and True 
result = True

算术运算符中优先级:幂运算>乘除取余>加减

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

注意:

print(-10%3)

3
进制转换

数据在计算机中的存储,存的是二进制数(010101)

十进制

基数:0,1,2,3,4,5,6,7,8,9
特点:逢10进1
12345 = 5(10^0) + 4(10^1) + 3(10^2) + 2(10^3) + 1*(10^4)

二进制

基础:0,1
特点:逢2进1
101011 = 1(2^0) + 1(2^1) + 1(2^3) + 1(2^5)

八进制

基数:0,1,2,3,4,5,6,7
特点:逢8进1
123 = 3(8^0) + 2(8^1) +1*(8^2)

十六进制

基数:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
特点:逢16进1

进制间转换

十进制转其他进制:整除取余法,结果倒排
八进制、十六进制转二进制
八进制 3位 十六进制 4位

Python中的二进制、八进制、十六进制

默认的数字都是十进制
二进制表示:基数都为0,1 并且数字前加前缀0b,表示二进制

print(0b1011)

11
[Finished in 0.3s]

八进制的表示:基数0-7,前缀数字0加字母o 0o,0O

print(0o234)
print(0O234)


156
156
[Finished in 0.2s]

十六进制:基数0-9,A-F,数字前加前缀0x,0X表示十六进制

print(0x12f)
print(0X12f)

303
303
[Finished in 0.2s]

扩充:bin(整数)-->将其他进制的整数转换为二进制数
oct(整数)---->将其他进制的数转换为8进制数
hex(整数)---->将其他进制的整数转换为16进制数

print(bin(23))

0b10111

print(bin(0x23))

0b100011
数据类型转换:类型名(被转换的数据)

int float bool str

num = 10 
str1 = str(num)
print(num,type(str1))

10 <class 'str'>
1.其他的数据类型转换成整型:int()

浮点型:只保留整数部分

print(int(12.9))

12

布尔型:True转换成1,False转换为0

print(int(True))
print(int(False))

1
0

字符串:只有以整数表示的字符串才能转换为int型

print(int('12'))
print(int('1231'))
print(int('-12'))

12
1231
-12
2.其他的数据类型转换为浮点型:float()

整型转换为浮点型

print(float(21))

布尔型转换为浮点型

print(float(True))
print(float(False))

字符串转换为浮点型只有整数或浮点数表示的字符串才能转换。

print(float('123'))
print(float('-123'))
print(float('+123'))
print(float('12.3'))
print(float('-12.3'))
print(float('+12.3'))

3.其他类型的数据转换为布尔类型:bool()

注意:不管什么类型都可以转换成布尔值

print(bool(3),bool(-2),bool(0),bool(1.3),bool(-1.2),bool('a'),bool(0.0),bool(''))

整数和浮点数中除了0会转换成False,其他所有数包括负数都转换成True

字符串中:只有空字符串(''中什么都没有,不是空格)转换为False,其他所有都为True

总结:所有为0为空为none的值都会转换为False,其他都为True

4.其他类型的数据转换成字符串:str()

所有的数据类型都可以转换为字符串,结果就是给值加上''。

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

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,719评论 0 10
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 18,917评论 17 410
  • 一、PyCharm的基本使用1.1、注释:为了方便自己或者其他人查看单行注释:用 # 号单行注释多行注释: 用 ...
    IIronMan阅读 8,841评论 3 18
  • 菜鸟 学习笔记 # /Users/xxxxx/Desktop/HelloPythion.py # -*- codi...
    weiwei_js阅读 822评论 0 1
  • 别人家都休息啦!就我自己上班,不过就上六个小时还挺开心的。 小雪师姐人漂亮温柔,对人有耐心,还特别的优秀。陈丽师傅...
    净面小生阅读 428评论 0 1