Python基础之 二
字符编码:
二进制记录:128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1 = 8位
ascii 编码:占1个字节8位,只能表示256个符号,主要用于显示英语和其他西欧语言。
gb2312编码:占用第一字节剩余的128位+扩展,发布1980年。
gbk编码:发布1995年,兼容gb2312
gb18030:发布2000年,兼容gbk,gb2312,
unicode编码:统一代表所有国家的字符和符号(统一万国码),占用2个字节。2**16=65536。问题是ascii出现也占用2个字节问题。
UTF-8:可变长的编码字符集,解决unicode的问题。(存英文以ascii存储1个字节,存汉字以unicode存储,但是会占用3个字节)
全部向下兼容(utf-8 到 ascii)。
python3默认字符集utf-8. python2 默认字符集ascii
用户交互:
python3中的input交互 和 python2中的raw_input 功能一样。
name = input('name:') #用户输入进行交互
age = int(input('age:'))
job = input('job:')
salary = input('salary:') info = '''
-------------info of %s--------------
Name: %s
Age: %d
Job: %s
Salary:%s
--------------end--------------------
''' % (name,name,age,job,salary) #第一种格式化输出 info2 = '''
-------------info of {_name}--------------
Name: {_name}
Age: {_age}
Job: {_job}
Salary:{_Salary}
--------------end--------------------
'''.format(_name=name,
_age=age,
_job=job,
_Salary=salary) #第二种格式化输出
info3 = '''
-------------info of {0}--------------
Name: {0}
Age: {1}
Job: {2}
Salary:{3}
--------------end--------------------
'''.format(name,age,job,salary) #第三种格式化输出 print (info)
print (info2)
print (info3)
注意:不建议字符串用“+”加号拼接,因为会另外占用内存,浪费资源。特殊情况下可以使用。
条件判断:
语法:if 条件:
执行语句
elif 条件:
执行语句
else:
执行语句
举例:
#getpass模块支持输入密码时加密不可见
import getpass _name = 'jeck'
_pass = 'abc123'
username = input('name:')
# passwd = getpass.getpass('password:') #由于在pycharm中无法使用此功能,所以注释掉。
passwd = input('password:') if _name == username and _pass == passwd:
print ('Welcome user {_name} login...'.format(_name=username))
else:
print ('Inviled loging')
while 循环:即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.
基本语法: 当条件判断为真时执行语句,为假时退出循环
while 条件判断:
执行语句
else: #可选
执行语句
举例:
age_of_Jeck = 38
'''
#方法1
count = 0
while count < 3: #判断小于3执行下面代码
age = int(input('please input Jeck Age:'))
if age == age_of_Jeck:
print ('Yes ,Jeck age to:%d' % age)
break #符合跳出循环,不执行else语句了
elif age > age_of_Jeck:
print ('Think small')
else:
print ('Think bigger')
count += 1 #计数加1
else: #条件执行完毕,运行如下代码
print ('sorry,too many,exit!')
'''
#方法2
count = 0
while count < 3:
age = int(input('please input Jeck Age:'))
if age == age_of_Jeck:
print ('Yes ,Jeck age to:%d' % age)
break
elif age > age_of_Jeck:
print ('Think small')
else:
print ('Think bigger')
count += 1
if count == 3: #当计数满3次,重新确认是否继续。
continue_confirm = input('do you want to keep gressing...?')
if continue_confirm != 'n':
count = 0
else:
print ('input error , well exit')
for 循环:可以遍历任何序列的项目,如一个列表或者一个字符串。
基本语法:
for iterating_var in sequence:
执行语句
else: #可选
执行语句
举例:
age_of_Jeck = 38 for i in range(3):
age = int(input('please input Jeck Age:'))
if age == age_of_Jeck:
print ('Yes ,Jeck age to:%d' % age)
break
elif age > age_of_Jeck:
print ('Think small')
else:
print ('Think bigger')
else:
print ('sorry,too many,exit!')
Python基础之 二的更多相关文章
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- python基础知识(二)
python基础知识(二) 字符串格式化 格式: % 类型 ---- > ' %类型 ' %(数据) %s 字符串 print(' %s is boy'%('tom')) ----> ...
- Python基础学习二
Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...
- Python之路:Python 基础(二)
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. if 1==1: name = 'lenliu' print name 下面的结论对吗?(对) 外层变量,可以被 ...
- Python基础篇(二)_基本数据类型
Python基础篇——基本数据类型 数字类型:整数类型.浮点数类型.复数类型 整数类型:4种进制表示形式:十进制.二进制.八进制.十六进制,默认采用十进制,其他进制需要增加引导符号 进制种类 引导符号 ...
- python基础(二)-------数据类型
python开发基础篇(二)数据类型 python数据类型有: 1.数字 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 主要的分类为:整型,长整型,(python2有长整型的概念Pytho ...
- 第八章:Python基础の面向对象(二)
本課主題 面向对象的多态 面向对象的成员 成员修饰符 特殊成员 面向对象其他应用 异常处理 设计模式与单例模式 面向对象的多态 指定参数类型只是多态的一种表现 另外一种是允许自己类型和自己的子类型(典 ...
- Python 基础【二】 上
一.python语言分类 1. C python c语言的python版本 官方推荐 使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行 ...
- Bigger-Mai 养成计划,Python基础巩固二
模块初识1.标准库2.第三方库import sys sys.path #自己的本文件名不可为sys.py#输出模块存储的环境变量sys.argv #打印脚本的相对路径sys.argv[2] #取第二个 ...
- python基础介绍二
一.python种类 1.1 Cpython python官方版本,使用c语言实现,运行机制:先编译,py(源码文件)->pyc(字节码文件),最终执行时先将字节码转换成机器码,然后交给cpu执 ...
随机推荐
- URAL1326. Bottle Taps(状压)
1326 用队列优化的 不知道为什么一直WA 传统直白的 状压 写了超时 O((1<<n)*m*n) 之后想了可以把n省去 预处理一下方案 #include <iostream&g ...
- 记录一下java在后端用request来判断请求类型
这几天看代码,看到这么一个操作. String requestType = request.getHeader("X-Requested-With"); 于是各种查找 这里记 ...
- 三种将list转换为map的方法(传统方法、jdk8 Stream流、guava)
三种将list转换为map的方法 - jackyrong - ITeye博客:http://jackyrong.iteye.com/blog/2158009
- css中display设置为table、table-row、table-cell后的作用及其注意点
html: <div class="table"> <div class="row"> <div class="cell ...
- Objective-C Memory Management 内存管理 2
Objective-C Memory Management 内存管理 2 2.1 The Rules of Cocoa Memory Management 内存管理规则 (1)When you c ...
- 阿里云CDN服务功能介绍
- HTML5——动画延迟的另外一种方式
https://www.cnblogs.com/hhhhhh/p/5758167.html
- 阿里云ECS安装sqlserver,本地无法连接问题排查思路
1. 阿里云控制台-对应的ECS实例的安全组是否添加了响应的端口(1433)可以访问: 2. 服务器-sqlserver服务是否开启: 3. 服务器-sqlserver配置器,对应的端口是否启用,已经 ...
- java was started but returned exit code =-805306369的处理方法
Myeclipse出现java was started but returned exit code =-805306369的错误,如图: 解决方法: 换个workspaces:换个工作目录,估计估计 ...
- DTD DOCTYPE
总结: DOCTYPE是什么 ? 文档类型声明,告诉解析器用什么样的文档类型定义来解析此文档.DOCTYPE不存在或格式不正确会导致文档以兼容模式呈现. 标准模式与兼容模式各有什么区别? 如果页面 ...