六. 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. missing seperator error when [make all]

    https://stackoverflow.com/questions/16931770/makefile4-missing-separator-stop makefile has a very st ...

  2. 20165303 2017-2018-2 《Java程序设计》结对编程练习_四则运算

    需求分析 能生成简单四则运算题目并判断用户回答对错. 能正确统计回答正确的概率. 能正确处理混合四则运算的优先级的问题. 能正确输出负数等结果. 能处理简单的加,减,乘,除运算. 能正确的处理有括号的 ...

  3. Java方法重载的区分

    测试程序代码: class Computer { private int x; public Computer(){ this(10); } /** * 构造方法重载 * @param x */ pu ...

  4. Children's Game UVA - 10905

    看90,956这样的串,在比较完之前,就确定大小的,必定选大的放在前.而x=98,y=980;这样的,比较x+y和y+x的大小.如果x+y更小,y就放前. #include <iostream& ...

  5. hdu 1542 Atlantis (线段树扫描线)

    大意: 求矩形面积并. 枚举$x$坐标, 线段树维护$[y_1,y_2]$内的边是否被覆盖, 线段树维护边时需要将每条边挂在左端点上. #include <iostream> #inclu ...

  6. 『计算机视觉』Mask-RCNN_锚框生成

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  7. GitHub 翻译之 'Hello-world' 翻译

    https://guides.github.com/activities/hello-world/ 页面翻译 The Hello World project is a time-honored tra ...

  8. ASP.NET 后台页面无法识别服务器控件ID

    在学习asp.net 的时候 发现有个页面服务器控件无法识别,提示未知元素 解决方法 将不能识别服务器控件ID 的后台文件 类名改写,重新生成一次. 然后再改回来就可以了.

  9. zzw原创_LIKE与regexp_like中的_及转义符

    1.select table_name from user_tables  where table_name like 'MENU%';查出以下表MENUMENUGGG_131MENU_132MENU ...

  10. Linux中环境变量文件

    一.环境变量文件介绍 转自:http://blog.csdn.net/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登 ...