和老男孩一起学Python - day2

1. 格式化输出

      用户交互,动态输出。将信息输出为如下格式,其中name,age,job,hobby为用户输入。

------------ info of 殊彦  -----------
Name  : 殊彦
Age   : 22
job   : Teacher
Hobby : girl
------------- end -----------------
  •     格式化输出的方法:%(占位符),s(str字符串类型),d(digit数字类型)

    1)实现方法一

name = input ("请输入你的名字:")
age = input ("请输入你的年龄:")
job = input ("请输入你的工作:")
hobby = input ("请输入你的爱好:")

message = """------------ info of %s  -----------
Name  : %s
Age   : %s
job   : %s
Hobby : %s
------------- end -----------------""" %(name,name,age,job,hobby)

print (message)

    2)实现方法二

name = input ("请输入你的名字:")
age = input ("请输入你的年龄:")
job = input ("请输入你的工作:") 
hobby = input ("请输入你的爱好:")

message = """------------ info of %s  -----------
Name  : %s
Age   : %d
job   : %s
Hobby : %s
------------- end -----------------""" %(name,name,int(age),job,hobby)

print (message)

   此时age的输入必须是数字格式,否则会报错。

请输入你的名字:殊彦
请输入你的年龄:2!
请输入你的工作:Teacher
请输入你的爱好:girl
Traceback (most recent call last):
  File "D:/Python源文件/Python学习/基础.py", line 11, in 
    ------------- end -----------------""" %(name,name,int(age),job,hobby)
ValueError: invalid literal for int() with base 10: '2!'
  •  占位符%与百分比%的区分

        用户交互,动态输出。需要输出的结果如下,其中数字部分需要根据用户的输入信息。

***********************
我的Python学习进度为50%。
***********************

       1)实现方法

process = input ("请输入你的Python学习进度:")

message = """***********************
我的Python学习进度为%d%%。
***********************""" %(int(process))

print (message)

       其中%d是指占位符,第二个%是转义字符,作用是告诉编译器第三个%不是占位符,而只是简单地百分号%

 2. 基础运算符

  • 算术运算符:+,-,*,/,%(取余数),**(次方),//(取整除 - 向下取接近商的整数)
a = 10
b = 20

print (a+b)
print (a-b)
print (a*b)
print (a/b)
print (a%b)
print (a**b)
print (a//b)
输出结果:
30
-10
200
0.5
10
100000000000000000000
0
  • 比较运算符:==(判断两个运算符是否相等),!= (比较两个对象是否不相等),>,<,>=,<=
a = 10
b = 20

print(a == b)
print(a != b)
print(a > b)
print(a < b)
print(a >= b)
print(a <= b)
输出结果:
False
True
False
True
False
True
  •  赋值运算符:=,+=(c+=a等效于c=c+a),-=(c-=a等效于c=c-a),*=(c*=a等效于c=c*a),/=(c/=a等效于c=c/a)

                              %=(c%=a等效于c=c%a),**=(c**=a等效于c=c**a),//=(c//=a等效于c=c//a)

  •  逻辑运算符:and, or, not

        逻辑运算符优先级:() > not > and >or

        逻辑运算规则:x and y (x为真,则返回y;x为假,则返回x)

                                 x  or  y  (x为真,则返回x;x为假,则返回y)

                                 not  x    (x为真,则返回假;x为假,则返回真) 

print (3>4 or 4<3 and 1==1)
print (1 < 2 and 3 < 4 or 1>2)
print (2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print (1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
print (1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
print (not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
False
True
True
False
False
False
  • 成员运算符:in       (如果在指定的序列中找到值返回 True,否则返回 False)
                          not in   (如果在指定的序列中没有找到值返回 True,否则返回 False)
  • 位运算符:&按位与运算符     (参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0)
                        |按位或运算符    (只要对应的二个二进位有一个为1时,结果位就为1)
                        ^按位异或运算符(当两对应的二进位相异时,结果为1)
                        ~按位取反运算符(对数据的每个二进制位取反,即把1变为0,把0变为1)~x 类似于 -x-1
                        <<左移动运算符 (运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0)
                        >>右移动运算符 (把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数)
  • 身份运算符:is (判断两个标识符是否引用自同一个对象)
                          is not (判断两个标识符是否引用自不同的对象)
Python运算符优先级
运算符 描述
** 指数,最高优先级
~ + - 按位翻转,一元加号和减号
*,/,%,// 乘,除,取余,取整除
+,- 加法,减法
>>,<< 右移左移运算符
& 位'AND'
^ | 位运算符
<=,>=,<,> 比较运算符
==,!= 等于、不等于运算符
= ,%=,/=等 赋值运算符
is,is not 身份运算符
in,not in 成员运算符
not,and,or 逻辑运算符

3. 编码初识

  • ASCII码:基于拉丁字母的一套电脑编码系统ASCII码中只包含英文字母,数字以及特殊字符与二进制的对应关系,主要用于显示现代英语和其他西欧语言,ASCII码最多只能表示 256 个符号,无法表示全部的汉字。
  • GBK码:国内自创,只包含本国文字(以及英文字母,数字,特殊字符)与0101010对应关系。
  • unicode万国码:包含全世界所有的文字与二进制0101001的对应关系。分配给中文四个字节32比特,可表示文字远高于汉字数目,造成了资源的浪费。
  • utf-8:包含全世界所有的文字与二进制0101001的对应关系(最少用8位一个字节表示一个字符)。中文可以用三个字节24比特表示所有的汉字。

 

 

 

 

 

 

 

你可能感兴趣的:(Python)