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 ...
- [SPOJ1812]Longest Common Substring II 后缀自动机 多个串的最长公共子串
题目链接:http://www.spoj.com/problems/LCS2/ 其实两个串的LCS会了,多个串的LCS也就差不多了. 我们先用一个串建立后缀自动机,然后其它的串在上面跑.跑的时候算出每 ...
- 最新版Kubernetes常用命令大全
#查看所有namespace的pods运行情况 kubectl get pods --all-namespaces #查看具体pods,记得后边跟namespace名字哦 kubectl get po ...
- XamarinAndroid 自动绑定View变量
Android 编程时我们少不了使用FindIdByView函数,在Xamarin Android开发时也需要如此.这个工作很无聊且烦人.在常规Android开发中,人们已经发明了一些方法免除这项工作 ...
- xmind8 Mac破解版(思维导图) 附序列号
链接: https://pan.baidu.com/s/1PNdLRGpz_jhfPmWAIbLRfw 提取码: ruvm 复制这段内容后打开百度网盘手机App,操作更方便哦 小伙伴们XMind 8 ...
- Quartz2D知识点聚合案例
Quartz2D知识点聚合 基本 //画图片 UIImage *image = [UIImage imageNamed:@"阿狸头像"]; [image drawInRect:re ...
- 什么是LambdaExpression,如何转换成Func或Action(2)
序言 在上一篇中,我们认识了什么是表达式树.什么是委托,以及它们的关系.可能是我功力不好,貌似大家都不怎么关注,没有讲解出不同角度的问题. 学习一种新技术,是枯燥的过程,只有在你掌握后并能运用时才能从 ...
- KVM环境下vCPU绑定到物理CPU
在KVM环境中测试虚拟系统性能时,如果宿主机是有两个CPU socket的硬件,会碰到由于vCPU在不同物理CPU上浮动导致测试RFC2544时出现少量丢包的现象,测试结果非常不稳定.可以将vCPU绑 ...
- leetcode_1011. Capacity To Ship Packages Within D Days_binary search二分
https://leetcode.com/problems/capacity-to-ship-packages-within-d-days/ 传送带每天有最大传送量V,对于n个货物[w1,w2,w3. ...
- windows sdk编程禁止改变窗体大小
#include <windows.h> /*消息处理函数声明*/ HRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM ...