python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)
一、数据类型
python可以直接处理的数据类型有:整数、浮点数、字符串、布尔值、空值。
整数
浮点数
字符串:双引号内嵌套单引号,可以输出 i'm ok.
也可以用\来实现,\n 换行 \t table
多行字符串用 ''' '''
布尔值: 可以对布尔值进行与或非运算/ 与and 或or 非not
空值
二、变量
a = 1/ a = "nadech" 与java不同,python在声明一个变量的时候不用指定变量的类型,直接赋值就可以了
在 执行a =1 的时候,python解释器实际上执行了两步操作:创建整数1;声明变量a,并且把变量a指向整数1
常量PI,即使声明为了常量,但是python没有真正的常量
python中整数除法是精确的:10/3 =3.333333333333 地板除法:10//3=3
保留两个小数点
a = 1
b = 3
print(a/b)
#方法一:
print(round(a/b,2))
#方法二:
print(format(float(a)/float(b),'.2f'))
#方法三:
print ('%.2f' %(a/b))
三、编码方式
几种编码的方式和编码的进化!!!!
ASCII编码,只能编码127个字符,所以数量有所限制
GB2312(2个字节)中国用来编写中文并且建立在ASCII码上,不能与ASCII冲突。之后,韩国、日本都有自己的编码 and so on.
Unicode编码(2个字节),把所有语言都统一到一套编码里。缺点是2个字节,浪费存储空间。
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。UTF-8的好处就是兼容ASCII码,节省空间。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件。
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。
四、python字符串的编码/字符串的格式化输出
单个字符的编码:
>>> ord('爱')
29233
>>> chr(29233)
'爱'
>>>
多个字符的编码:
当字符的内容只包含ASCII编码的内容时,可以直接使用:
>>> b"I LOVE YOU!"
b'I LOVE YOU!'
>>> "I LOVE YOU!".encode()
b'I LOVE YOU!'
多个字符且包含中文的时候,只能使用encode和decode
#从这里也可以看出在utf-8的编码中,一个中文需要三个字节
>>> "我爱你".encode("utf-8")
b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'
#这里特别要注意b'\xe6'和‘\xe6'表示的完全不一样,前边表示一个bytes类型的数据,后者是一个str类型的字符串
>>> b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0'.decode("utf-8")
'我爱你'
len()可以用来计算str或者是bytes的长度
>>> len('我爱你')
3
>>> len( b'\xe6\x88\x91\xe7\x88\xb1\xe4\xbd\xa0')
9
字符串的格式化,除了%s 还有%d %f %x等占位符,但是由于都可以用%s来输出,所以就没有必要使用其他的了。
除此之外还有 str.format()方式也可以用来格式化字符串,但是没有%s好用。但是当输入的字符串内容本身含有%,例如 7%时,需要使用 %%转义符
>>> "hello %s"%"nadech"
'hello nadech' >>> nadech = "YGR"
>>> "hello %s"%nadech
'hello YGR’
python笔记二(数据类型和变量、编码方式、字符串的编码、字符串的格式化)的更多相关文章
- [Python] 文科生零基础学编程系列二——数据类型、变量、常量的基础概念
上一篇:[Python] 文科生零基础学编程系列--对象.集合.属性.方法的基本定义 下一篇: (仍先以最简单的Excel的VBA为例,语法与Python不同,但概念和逻辑需要理解透彻) p.p1 { ...
- python教程1:Python基础之数据类型和变量、字符串和编码
视频链接:http://www.bilibili.com/video/av10730372/ 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,pyth ...
- 学习Python笔记---变量和简单数据类型
首先声明,这个是个人在自学的一些笔记,因为是小白,刚接触Python,之前也没有过类似的经验,所以很多东西对于其他人来说可能是小白级别的,写出来没有其他的意思就是自己整理然后记录一下,顺便分享出来,而 ...
- python学习之路-基本数据类型1 变量的概念、数字、字符串
1 什么是数据类型? 每种编程语言都有自己的数据类型,用于标识计算机可以认识的数据,Python中主要的数据类型为字符串,整数,浮点数,列表,元祖,字典,集合七种主要的数据类型,其中以列表,字典为最主 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- 第三篇:python基础之数据类型与变量
阅读目录 一.变量 二.数据类型 2.1 什么是数据类型及数据类型分类 2.2 标准数据类型: 2.2.1 数字 2.2.1.1 整型: 2.2.1.2 长整型long: 2.2.1.3 布尔bool ...
- 第二篇.1、python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值 age=18 gender1='male' gender2='female' 2 为什么要有变量 变量作用:“变”=>变化,“量”=> ...
- python基础之数据类型与变量
一.变量 1 什么是变量之声明变量 #变量名=变量值age=18gender1='male' gender2='female' 2 为什么要有变量 变量作用:"变"=>变化, ...
- (八)python的简单数据类型和变量
什么是数据类型? 程序的本质就是驱使计算机去处理各种状态的变化,这些状态分为很多种. 例如英雄联盟游戏,一个人物角色有名字,钱,等级,装备等特性,大家第一时间会想到这么表示 名字:德玛西亚------ ...
随机推荐
- nexus私服服务器意外关机后,本地不能下载jar包
主要记录一个小问题. 今天要做个需求,需要读取word文档中的表格来在生成数据库建表语句. 读取word文档,要添加maven依赖 <dependency> <groupId> ...
- python--同步锁/递归锁/协程
同步锁/递归锁/协程 1 同步锁 锁通常被用来实现对共享资源的同步访问,为每一个共享资源创建一个Lock对象,当你需需要访问该资源时,调用acquire()方法来获取锁对象(如果其他线程已经获得了该锁 ...
- hadoop fs:du统计hdfs文件(目录下文件)大小的用法
hadoop fs 更多用法,请参考官网:http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html 以下是我的使用统计文件时使用的记录: [t@d ...
- Struts(二十一):类型转换与复杂属性、集合属性配合使用
背景: 本章节主要以复杂属性.集合属性类型转化为例,来学习这两种情况下怎么使用. 复杂对象属性转换场景: 1.新建struts_04 web.xml <?xml version="1. ...
- Object.prototype.toString.call(obj)使用方法以及原理
这几天看vue-router的源码 发现了Object.prototype.toString.call()这样的用法,当时以为这就是转成字符串的用的,但是越看越觉得不太对劲,赶紧查查资料,一查才知道没 ...
- html标记语言 --图像标记
html标记语言 --图像标记 三.图像标记 1.使用方法 <img src="路径/文件名.格式" width="属性值" height="属 ...
- Javascript中的url编码与解码(详解)
摘要 本文主要针对URI编解码的相关问题做了介绍,对url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript中和编解码相关的几对函数escape / unescap ...
- jQuery系列 第二章 jQuery框架使用准备
第二章 jQuery框架使用准备 2.1 jQuery框架和JavaScript加载模式对比 jQuery框架的加载模式 <script> window.onload = function ...
- 常见web安全隐患及解决方案
Abstract 有关于WEB服务以及web应用的一些安全隐患总结资料. 1. 常见web安全隐患 1.1. 完全信赖用户提交内容 开发人员决不能相信一个来自外部的数据.不管它来自用户提交 ...
- Python系列-python函数(functools)
有一些函数内置到了functools这个模块里 partial(func, *args, **keywords) from functools import partial def add(x,y): ...