六. Python基础(6)--语法

1 ● Python3中, Unicode转字节的方法

print(bytes("李泉", encoding = 'utf-8'))

print("李泉".encode("utf-8"))

b'\xe6\x9d\x8e\xe6\xb3\x89'

 

print(bytes("李泉", encoding = 'gbk'))

print("李泉".encode("gbk"))

b'\xc0\xee\xc8\xaa'

 

2 ● Python的一种优化

python中由字母/数字/下划线组成的字符串在内存中会被优化处理, 也就是相同的由字母/数字/下划线组成的字符串, 它们在内存中的地址是相同的, 例如:

 

3. ● 可变/不可变元素与内存地址

由于字符串是不可变的类型, 所以必须开辟新的内存地址给另一个值不同字符串;

列表示可变元素, 改变一个列表的元素以后, 不用开辟新的区间.

 

4 ● 字典格式化字符串

s = 'name : %(name)s; age : %(age)d'%{'age':20,'name':'wupeiqi'} # 这里是一个匿名字典

print(s)

name : wupeiqi; age : 20

 

5 ● 字符串切片的补充

s = 'asd4fs5adf4r5345qwrwr'

s1 = s[0::1] # 等价于s1 = s[::], 这里实际上是一个浅拷贝

s1 = s[1::2] # 基数的索引

s1 = s[0::2] # 偶数的索引

 

6 ● 字典的fromkeys()函数

fromkeys()用于批量生产词典, 对于可变数据类型的value, 修改一个会影响到其它所有的value, 但是对于不可变数据类型的value, 修改一个不会影响到其它value.

dic=dict.fromkeys(['k1',True,(11,22)],[])

dic['k1'].append(6)

dic['k1'].append(7)

print(dic) # {'k1': [6, 7], True: [6, 7], (11, 22): [6, 7]}

 

dic=dict.fromkeys(['k1',True,(11,22)],'male')

print(dic) # {'k1': 'male', True: 'male', (11, 22): 'male'}

dic['k1']='female'

print(dic) # {'k1': 'female', True: 'male', (11, 22): 'male'}

 

7 ● 一种加快用户登录验证的方法

f = open('user.txt', encoding = 'utf-8')

user = input("username:")

pwd = input("password:")

for line in f:

    l = line.strip().split('|')

    if user == l[0] and pwd == l[1]:

        print("登录成功!")

六. Python基础(6)--语法的更多相关文章

  1. 五. Python基础(5)--语法

    五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...

  2. 二. Python基础(2)--语法

    二. Python基础(2)--语法 1.实现一个简单的登录系统 '''# 形式1 n = 1 while n < 4:     name = input("请输入姓名\n" ...

  3. 二十六. Python基础(26)--类的内置特殊属性和方法

    二十六. Python基础(26)--类的内置特殊属性和方法 ● 知识框架 ● 类的内置方法/魔法方法案例1: 单例设计模式 # 类的魔法方法 # 案例1: 单例设计模式 class Teacher: ...

  4. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  5. 四. Python基础(4)--语法

    四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次     sum += i     i ...

  6. 三. Python基础(3)--语法

    三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...

  7. 一. Python基础(1)--语法

    一. Python基础(1)--语法 1. 应用程序 1.1 什么是计算机(Computer)? 组成 ①运算器 arithmetic unit; ※ Arithmetic unit and cont ...

  8. Python基础:语法基础(3)

    本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...

  9. Python基础__Python语法基础、条件、循环

    之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...

随机推荐

  1. Linux下计划任务以及crontab权限问题

    在Linux工作环境下,我们有时可能会需要在未来某个时间执行某个命令或脚本,但是我们又不可能定个闹钟,然后到点了再去执行吧,这多麻烦.还好我们的Linux系统这么强大,提供了任务计划这个功能,我们就不 ...

  2. 20180429 xlVBA套打单据批量复制

    Sub testCopyModelRange() Set ModelSheet = ThisWorkbook.Worksheets("单据模板") Set PrintSheet = ...

  3. Scrapy - CrawlSpider爬虫

    crawlSpider 爬虫 思路: 从response中提取满足某个条件的url地址,发送给引擎,同时能够指定callback函数. 1. 创建项目 scrapy startproject mysp ...

  4. MVC实战之排球计分(三)—— 模型类的设计与实现

    此软件使用的数据库连接方式code first 由EF框架产生数据库. code first需要对模型类设计和实现.模型类是现实实体在计算机中的表示.它贯穿于整个架构, 负担着在各层次及模块间传递数据 ...

  5. 【PowerDesigner】【5】数据模型 CDM

    前言:各种箭头的含义其实我还是有点混乱,所以这里只做记录 参考博客: 1,Powerdesigner数据库建模--概念模型--ER图[转] - holycrap - 博客园https://www.cn ...

  6. vivado第一天从建立文件运行小程序开始

    今天,是第一天什么也处于懵懂的时候,首要的任务就是建立一个文件 首先打开vivado运行软件, 如图所示,选择第一个create new project 来新建文件 选择存储路径,一路向下 当选择芯片 ...

  7. HashTable Queue Stack SortedList BitArray

    HashTable 由于是非泛型集合,因此存储进去的都是object类型,不管是键还是值. Hashtable不允许排序 key不允许重复 键不允许为null Queue和Queue<T> ...

  8. Beta阶段——第5篇 Scrum 冲刺博客

    Beta阶段--第5篇 Scrum 冲刺博客 标签:软件工程 一.站立式会议照片 二.每个人的工作 (有work item 的ID) 昨日已完成的工作 人员 工作 林羽晴 完成了邮箱发送功能的测试,测 ...

  9. java前后向查找个人理解

    举一个最简单的栗子 这个前后说的是0宽所在的位置,是在:前还是后 http://www.sb.com 1.前向正向查找 (1) 如果用:.*(?=:) 首先(?=:)被称作0宽度断言,所谓0宽度应该是 ...

  10. 2017-3-31/socket

    1. 讲讲你对套接字编程的理解,它的协议是如何的? socket通常称为"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通过套接字向网络发出请求或应答网络请求. 服 ...