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
< >>右移动运算符 (把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数)
身份运算符: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比特表示所有的汉字。