Day_02 Python 数据类型

2018-07-17  本文已影响0人  FansYuercero

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()

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

上一篇下一篇

猜你喜欢

热点阅读