主要是以Python 3.x 为开发环境
which python3 查看 linux及Mac下 python3是都安装以及程序的位置
终端打开python的时候,直接输入python3,打开的就是3.几的版本
- 变量 :字母 下划线 数字,第一个字符不能用数字
- 常量: 全部大写字母表示常量
变量定义的规则:
变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
hello,world
1 #!/usr/bin/env python3 2 # -*- coding: UTF-8 -*- 3 4 print"hello,world"
当行注释 #被注释内容
多行注释 '''被注释内容'''
1 name ='张三' 2 name2 =name 3 print('姓名',name,name2) 4 5 name ='李四' 6 7 print(name,name2) 8 9 number=''' 10 123 11 456''' 12 print(number) 13 14 # 三个引号多行注释 或者多行打印
Python算术运算符
以下假设变量: a=10,b=20:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | a + b 输出结果 30 |
- | 减 - 得到负数或是一个数减去另一个数 | a - b 输出结果 -10 |
* | 乘 - 两个数相乘或是返回一个被重复若干次的字符串 | a * b 输出结果 200 |
/ | 除 - x除以y | b / a 输出结果 2 |
% | 取模 - 返回除法的余数 | b % a 输出结果 0 |
** | 幂 - 返回x的y次幂 | a**b 为10的20次方, 输出结果 100000000000000000000 |
// | 取整除 - 返回商的整数部分 | 9//2 输出结果 4 , 9.0//2.0 输出结果 4.0 |
注意:Python2.x 里,整数除整数,只能得出整数。如果要得到小数部分,把其中一个数改成浮点数即可。
>>> 1/2
0
>>> 1.0/2
0.5
>>> 1/float(2)
0.5
Python比较运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
<> | 不等于 - 比较两个对象是否不相等 | (a <> b) 返回 true。这个运算符类似 != 。 |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< | 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 | (a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
Python赋值运算符
以下假设变量a为10,变量b为20:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | 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 |
Python位运算符
按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:
下表中变量 a 为 60,b 为 13,二进制格式如下:
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 | (a & b) 输出结果 12 ,二进制解释: 0000 1100 |
| | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 | (a | b) 输出结果 61 ,二进制解释: 0011 1101 |
^ | 按位异或运算符:当两对应的二进位相异时,结果为1 | (a ^ b) 输出结果 49 ,二进制解释: 0011 0001 |
~ | 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 。~x 类似于 -x-1 | (~a ) 输出结果 -61 ,二进制解释: 1100 0011,在一个有符号二进制数的补码形式。 |
<< | 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 | a << 2 输出结果 240 ,二进制解释: 1111 0000 |
>> | 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 | a >> 2 输出结果 15 ,二进制解释: 0000 1111 |
Python逻辑运算符
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
Python成员运算符
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
Python身份运算符
身份运算符用于比较两个对象的存储单元
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 | x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。 |
Python运算符优先级
以下表格列出了从最高到最低优先级的所有运算符:
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 'AND' |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
用户名-密码
name = input("用户名:") password = input("密码:") print(name,password)
显示更多信息
1 name = input('name:') 2 age = int(input('age:')) #int(只能为整数) 3 print(type(age)) #tpye 显示数据类型 (str(age))转为字符串 4 job = input('job') #job 工作 5 salary = input('salary') #salary 薪水 6 7 8 info = ''' 9 -------- info of %s ----- 10 Name:%s 11 Age:%d 12 Job:%s 13 Salary:%s 14 ''' % (name,name,age,job,salary) 15 #s 代表:string 字符串 d 代表:整数 16 17 info2 = ''' 18 ------ 人员信息 ------ 19 姓名:{姓名} 20 年龄:{年龄} 21 工作:{工作} 22 工资:{工资} 23 24 ''' .format(姓名=name, 25 年龄=age, 26 工作=job, 27 工资=salary) 28 #format 格式 29 info3 = ''' 30 -------- info of {0} ----- 31 Name:{0} 32 Age:{1} 33 Job:{2} 34 Salary:{3} 35 '''.format(name,age,job,salary) 36 print(info3) 37 38 print(info2)
用户名密码输入
1 import getpass # 输入为密码密码 引入getpass库 2 3 _username = 'bian' 4 _password = '123' 5 6 username = input('用户名:') 7 # password = input('密码:')#输入为明文密码 8 password = getpass.getpass('密码:') # 输入为密文密码 9 10 if _username == username and _password == password: 11 # 两个'=='代表等于 一个'='代表赋值变量 12 print('欢迎 {name} 登录'.format(name=username)) 13 else: 14 print('用户名或密码错误!')
猜测年龄游戏
1 age = 56 #指定年龄为56 2 3 guess_age = int(input('年龄:')) #设置为只能输入整数 4 5 if guess_age == age: #如果guess_age 等于 age 6 print('猜测正常') #显示猜测正确 7 elif guess_age > age: #否则如果 大于 age 8 print('请往小猜测') #显示请往小猜测 9 else: #否则 10 print('请往大猜测')#显示请往大猜测
for 循环
1 for i in range(10): #循环范围10次 range 范围 2 print('loop:',i) #loop 循环 3 for i in range(10): 4 if i <5: #遇到小于5的 5 continue #不往下走了,直接进入下一次循环 continue(继续) 6 print('loop:',i) 7 for i in range(10): 8 if i >5: #遇到大于5的 9 break #不往下走了,直接退出整个循环 10 print('loop:',i)
无限循环
1 conut = 0 #conut(计数) 2 while True: # 当... 为真时 while(当) True(真实) 3 print('无限循环',conut) 4 conut +=1 #每次循环计数器+1
按次循环
1 count = 0 # count(计数) 2 while True: # 当... 为真时 while(当) True(真实) 3 print('循环',conut) 4 conut +=1 5 if count == 100: # 如果 count计数 等于100时 if(如果) 6 print('停止') 7 break #退出 break
while 循环
1 height = int(input('高度:')) # 输入值 2 width = int(input('宽度:')) #输入值 3 4 num1 = height # 赋值 5 6 while num1 > 0: #当 num1 大于 0 时 7 num2 = width #赋值 8 while num2 > 0: # 当num 2 大于 0 时 9 print('#',end='') # 打印# (end='' 为不换行) 10 num2 -= 1 #每次循环减 1 11 print() # 打印 换行 12 num1 -= 1 #每次循环减 1
whlie 循环
1 height = int(input('高度:')) 2 width = int(input('宽度:')) 3 4 num_height = 1 # 赋值是1 5 6 while num_height <= height: #当 num_height <= height 时 7 num_width = 1 # 赋值1 8 while num_width <= width: # 当 num_width <= width 时 9 print("@", end='') # 打印# (end='' 为不换行) 10 num_width += 1 # 循环 + 1 11 print() # print()为换行 12 num_height += 1 #循环 + 1
while循环
1 line = 6 # 行 赋值 2 3 while line > 0: #当行大于0 时 4 tmp = line # 赋值 5 while tmp > 0: #当 tmp 大于0时 6 print('#',end='') #打印 #号 不换行 7 tmp -= 1 #每次循环 - 1 8 print() #打印换行 9 line -= 1 #每次循环 - 1
和上面的结果相反
1 line = 1 2 3 while line <= 6: 4 tmp = 1 5 while tmp <= line: 6 print('#',end='') 7 tmp += 1 8 print() 9 line += 1
for按次循环 猜年龄游戏
1 age = 30 # 赋值 age 为30 2 3 count = 0 #计数器 0 4 for i in range(3): #循环3次 5 guess_age = int(input('年龄:')) #输入整数 6 if guess_age == age: #如果等于 7 print('输入正常') 8 break # 退出 9 elif guess_age >30: #如果 大于 10 print('往大输入') 11 else: #否则 12 print('往小输入') 13 14 else: #错误超过3次 15 print('错误超过3次,停止输入')
while 循环猜年龄游戏
1 age = 30 # 赋值 age 为30 2 3 count = 0 #计数器 0 4 while count <3: #循环3次 5 guess_age = int(input('年龄:')) #输入整数 6 if guess_age == age: #如果等于 7 print('输入正常') 8 break # 退出 9 elif guess_age >30: #如果 大于 10 print('往大输入') 11 else: #否则 12 print('往小输入') 13 count +=1 # 每次循环计数器+1 14 else: #错误超过3次 15 print('错误超过3次,停止输入')
九九乘法表
1 first = 1 #赋值 first(第一) = 1 2 while first <= 9: # 当first<= 9时 3 second = 1 #赋值 second(第二)= 1 4 while second <= first: #当second = 1时 5 print(str(second)+'*'+str(first)+'='+str(second*first),end='\t') 6 #打印 second * first = second * first end='\t'(制表符) 7 second += 1 #每次循环 + 1 8 print() # 打印换行 9 first += 1 #每次循环 + 1