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 功能一样。

 1 name = input('name:')   #用户输入进行交互
 2 age = int(input('age:'))
 3 job = input('job:')
 4 salary = input('salary:')
 5 
 6 info = '''
 7 -------------info of %s--------------
 8     Name: %s
 9     Age:  %d
10     Job:  %s
11     Salary:%s
12 --------------end--------------------
13 ''' % (name,name,age,job,salary)  #第一种格式化输出
14 
15 info2 = '''
16 -------------info of {_name}--------------
17     Name: {_name}
18     Age:  {_age}
19     Job:  {_job}
20     Salary:{_Salary}
21 --------------end--------------------
22 '''.format(_name=name,
23            _age=age,
24            _job=job,
25            _Salary=salary)    #第二种格式化输出
26 info3 = '''
27 -------------info of {0}--------------
28     Name: {0}
29     Age:  {1}
30     Job:  {2}
31     Salary:{3}
32 --------------end--------------------
33 '''.format(name,age,job,salary)  #第三种格式化输出
34 
35 print (info)
36 print (info2)
37 print (info3)
View Code

  注意:不建议字符串用“+”加号拼接,因为会另外占用内存,浪费资源。特殊情况下可以使用。

条件判断:

    语法:if 条件:

        执行语句

       elif 条件:

        执行语句

       else:

        执行语句

  举例:

 1 #getpass模块支持输入密码时加密不可见
 2 import getpass 
 3 
 4 _name = 'jeck'
 5 _pass = 'abc123'
 6 username = input('name:')
 7 # passwd = getpass.getpass('password:') #由于在pycharm中无法使用此功能,所以注释掉。
 8 passwd = input('password:')
 9 
10 if _name == username and _pass == passwd:
11     print ('Welcome user {_name} login...'.format(_name=username))
12 else:
13     print ('Inviled loging')
View Code

while 循环:即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.

  基本语法: 当条件判断为真时执行语句,为假时退出循环

      while 条件判断:

          执行语句

      else: #可选

        执行语句

  举例:

 1 age_of_Jeck = 38
 2 '''
 3 #方法1
 4 count = 0
 5 while count < 3: #判断小于3执行下面代码
 6     age = int(input('please input Jeck Age:'))
 7     if age == age_of_Jeck:
 8         print ('Yes ,Jeck age to:%d' % age)
 9         break  #符合跳出循环,不执行else语句了
10     elif age > age_of_Jeck:
11         print ('Think small')
12     else:
13         print ('Think bigger')
14     count += 1 #计数加1
15 else: #条件执行完毕,运行如下代码
16     print ('sorry,too many,exit!')
17 '''
18 #方法2
19 count = 0
20 while count < 3:
21     age = int(input('please input Jeck Age:'))
22     if age == age_of_Jeck:
23         print ('Yes ,Jeck age to:%d' % age)
24         break
25     elif age > age_of_Jeck:
26         print ('Think small')
27     else:
28         print ('Think bigger')
29     count += 1
30     if count == 3: #当计数满3次,重新确认是否继续。
31         continue_confirm = input('do you want to keep gressing...?')
32         if continue_confirm != 'n':
33             count = 0
34 else:
35     print ('input error , well exit')
View Code

for 循环:可以遍历任何序列的项目,如一个列表或者一个字符串。

  基本语法:

    for iterating_var in sequence:
       执行语句
    else: #可选
执行语句
 举例:
 1 age_of_Jeck = 38
 2 
 3 for i in range(3):
 4     age = int(input('please input Jeck Age:'))
 5     if age == age_of_Jeck:
 6         print ('Yes ,Jeck age to:%d' % age)
 7         break
 8     elif age > age_of_Jeck:
 9         print ('Think small')
10     else:
11         print ('Think bigger')
12 else:
13     print ('sorry,too many,exit!')
View Code
 
原文地址:https://www.cnblogs.com/zy6103/p/6743111.html