Python之路-python基础二
本章内容:
一.编码格式
二.常用数据类型
三.字符串常用方法
四.列表常用方法
五.数据运算
六.课后作业
编码格式:
ASCII
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。由于ascii码能表示符合的数量太少,无法表示完全部中午。为了处理汉字,程序员在ASCII上设置了中文的扩展表。发展如下:
GB2312(1980年):一共收录了7445个字符,包括6763个汉字和682个其它符号。
GBK1.0(1995年):收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。(windows 简体中文默认使用GBK编码表)
GB18030(2000年):正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。
使用ASCII码表,英文占用一个字节的空间大小,中文占用两个字节的空间大小。
Unicode
由于ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。它经历了了以下三个阶段的发展:
utf-32:(全部文字都占用了四个字节
utf-16:全部文字占用了两个字节
utf-8(可变长编码):不再像之前的utf-32,utf-16占用固定的字节,而是根据使用不同的语言来决定占用的空间大小。英文占用1个字节,中文占用三个字节。
常用数据格式
常用数据格式如下:
1.数字类型
整型(int),长整型(long,python3中不区分整型和长整型),浮点型(float),复数(complex),
2.布尔型(bool)
真(True)或者假(False),0或者1
3.字符串
"hello world"
>>> a='test'
>>> a[1:3] #正向顺序切片
'es'
>>> a[-2:] #反向顺序切片
'st'
>>> a[0::2] #2为步长,从第一个开始,隔一个取值
'ts'
>>> a=[1,2,3,4,5,6,'test','test1']
>>> a.index(2)
1
>>> a.index('test')
6
>>> a=[1,2,3,4,5,6,'test','test1']
>>> a[1:3] #正向切片,包头不包尾,只切到索引到2的值
[2, 3]
>>> a[-3:] #逆向企鹅哦
[6, 'test', 'test1']
>>> a[0::3] #跳跃切片
[1, 4, 'test']
>>> a=[1,2,3,4,5,6,'test','test1']
>>> a.append('test2')
>>> a
[1, 2, 3, 4, 5, 6, 'test', 'test1', 'test2']
#pop()括号内填索引号,如果为空,默认为删除最后一个
>>> a
[1, 2, 3, 4, 5, 6, 'test', 'test1', 'test2']
>>> a.pop()
'test2'
>>> a.pop(2)
3
#remove()指定删除的列表内容
>>> a
[1, 2, 4, 5, 6, 'test', 'test1']
>>> a.remove('test')
>>> a
[1, 2, 4, 5, 6, 'test1']
>>> a
[1, 2, 4, 5, 6, 'test1']
>>> len(a)
6
>>> a
[1, 2, 4, 5, 6, 'test1']
>>> a.insert(2,'two') #括号内先写插入位置的索引值,后面写要插入的内容
>>> a
[1, 2, 'two', 4, 5, 6, 'test1']
test=['a','b','c',['d','e']]
na2=test.copy()
print('test:',id(test))
print('na2:',id(na2)) 结果:
test: 40552136
na2: 40550472
这时候test[1]发生改变了,所以test列表中存贮的数值对应的内存值也发生了改变,故test列表发生了改变,但是na2跟test的内存的独立的,故na2的值并不会发生改变。但是这时候如果内嵌的列表发生改变了,test,na2也同时发生改变。这是因为test,na2存储的指向内嵌列表的内存值,这时候内嵌列表的存储内容发生改变了,该test,na2读取到的内嵌列表的内容也同时发生了改变、
test=['a','b','c',['d','e']
na2=test.copy()
print('na2:',na2)
test[1]='new'
print('test:',test)
print('na2:',na2)
test[3][1]='list_new'
print('test:',test)
print('na2:',na2)
打印结果如下:
na2: ['a', 'b', 'c', ['d', 'e']]
test: ['a', 'new', 'c', ['d', 'e']]
na2: ['a', 'b', 'c', ['d', 'e']]
test: ['a', 'new', 'c', ['d', 'list_new']]
na2: ['a', 'b', 'c', ['d', 'list_new']]
name={}
name=name.fromkeys(['a','b'])
print(name)
name=name.fromkeys(['a','b'],'test')
print(name)
结果:
{'a': None, 'b': None}
{'a': 'test', 'b': 'test'}
na2={1:'a',2:'b'}
na3={1:'f',3:'d'}
na2.update(na3)
print(na2)
print(na3)
打印结果:
{1: 'f', 2: 'b', 3: 'd'}
{1: 'f', 3: 'd'}
set1={'this','is','test'}
set2={'this','is','different'}
可以使用intersection方法或者&来表示交集,交集即是两个集合重复的内容。
print(set1.intersection(set2))
print(set1&set2)
结果:
{'is', 'this'}
{'is', 'this'}
并集,即是两个集合合并起来的内容,可以使用union方法或者‘ | ’ 来表示
print(set1.union(set2))
print(set1|set2)
结果:
{'different', 'is', 'test', 'this'}
{'different', 'is', 'test', 'this'}
差集,即set1和set2对比,不同的部分。test1和test2比较,只会显示set1有的,而set2没有的内容。set2而set1没有的并不会显示。用difference或者 ‘ -’来表示
print(set1.difference(set2))
print(set1-set2) 结果:
{'test'}
{'test'}
对称差集,将set1和set2都不同的元素都显示出来 。用 symmetric_difference 或者 ‘ ^’ 来表示
print(set1.symmetric_difference(set2))
print(set1^set2)
结果:
{'different', 'test'}
{'different', 'test'}
#跳出三层循环
loop_1=False #设置一层循环结束标志,如果为真则结束一层循环
loop_2=False #设置两层循环结束标志,如果为真则结束第二层循环
for i in range(10):
if loop_1:
break
print("'i'-----------",i)
if i>5:
for j in range(5):
if loop_2:
loop_1=True
break
print("'j'----------",j)
for k in range(3):
if k>1:
loop_2=True
break
print("'k'------", k)
else:
print('正常结束循环')
Python之路-python基础二的更多相关文章
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- Python之路Python内置函数、zip()、max()、min()
Python之路Python内置函数.zip().max().min() 一.python内置函数 abs() 求绝对值 例子 print(abs(-2)) all() 把序列中每一个元素做布尔运算, ...
- Python之路Python作用域、匿名函数、函数式编程、map函数、filter函数、reduce函数
Python之路Python作用域.匿名函数.函数式编程.map函数.filter函数.reduce函数 一.作用域 return 可以返回任意值例子 def test1(): print(" ...
- Python之路Python全局变量与局部变量、函数多层嵌套、函数递归
Python之路Python全局变量与局部变量.函数多层嵌套.函数递归 一.局部变量与全局变量 1.在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量.全局变量作用域是整个程序,局 ...
- 自学Python之路-Python核心编程
自学Python之路-Python核心编程 自学Python之路[第六回]:Python模块 6.1 自学Python6.1-模块简介 6.2 自学Python6.2-类.模块.包 ...
- 自学Python之路-Python并发编程+数据库+前端
自学Python之路-Python并发编程+数据库+前端 自学Python之路[第一回]:1.11.2 1.3
- 自学Python之路-Python网络编程
自学Python之路-Python网络编程 自学Python之路[第一回]:1.11.2 1.3
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- Python之路 day1 基础1 变量 for while 用户输入
一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...
- python之路: 基础篇
)或>>> name = ) #按照占位符的顺序):] #下标识从0开始的 wulaoer >>> print name[:] # ...
随机推荐
- 力扣(LeetCode)219. 存在重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. 示例 1: 输入: nums = ...
- 《剑指offer》第五十六题(数组中只出现一次的两个数字)
// 面试题56(一):数组中只出现一次的两个数字 // 题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序 // 找出这两个只出现一次的数字.要求时间复杂度是O(n),空间复杂度 ...
- JS中UTF-8和UTF-16互转
1.由于服务端使用的Go,默认是使用UTF-8编码的,而JS默认是Unicode编码的(也就是UTF-16),所以为了字符串编码的一致性,将前端字符串数据编码转换为UTF-8之后再发送给服务端,服务端 ...
- 推送消息 web push notification
参考 : https://developers.google.com/web/fundamentals/engage-and-retain/push-notifications/ ( step b ...
- python中函数与函数式编程(二)
首先要明白为什么要用到返回值,返回值的作用就是为了分情况来处理下面的程序(个人见解总结) 1.函数返回值 def test1(): pass def test2(): return 0 def tes ...
- Servlet 小知识
1.In servlet 3.0 we have new feature annotations to replace XML.也就是说应该尽量使用annotations Servlet is an ...
- Getting started with Processing 第九章总结
函数 函数的力量在于模块化. 范例 掷骰子 rollDice()函数 rollDice(int numSides){int d = 1+int(random(numSides));println(&q ...
- Feign二: @FeignClient 接口调用
在项目的启动文件加入:@EnableFeignClients 注解, import org.springframework.boot.SpringApplication; import org.spr ...
- 雷林鹏分享:jQuery EasyUI 表单 - 过滤下拉数据网格
jQuery EasyUI 表单 - 过滤下拉数据网格 下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid ...
- LeetCode--007--整数反转(java)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出 ...