输入和输出
区别于c语言和java,Python的输入和输出十分的简单。
注释
单行注释
# 注释内容
多行注释
'''使用 3 个单引号分别作为注释的开头和结尾可以一次性注释多行内容这里面的内容全部是注释内容'''
输出
基本语法规则:
print('hello, world')# hello world
逗号间隔
print('The quick brown fox', 'jumps over', 'the lazy dog')# The quick brown fox jumps over the lazy dog
打印整数和计算结果
print(300)#300print(100 + 200)#300
与字符串拼接
print('100 + 200 =', 100 + 200)# 100 + 200 = 300
函数用法
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- objects — 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
 - sep — 用来间隔多个对象,默认值是一个空格。
 - end — 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
 file — 要写入的文件对象。flush — 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。后面两个暂时不需要知道。
举个例子:
print("1","2","3",sep=",")print("上面的语句已经换行。")print("-------")print("1","2","3",sep=",",end="")print("上面的语句咩有换行。")
对比一下看一下差别就知道了
输入
基本语法
name = input()
这里输入之后的值就已经赋值给了name变量。
可以打印一下变量进行查看
print(name)
函数用法
name = input("请输入名字:")print(name)

数据类型
整数
整数的类型在计算机中一般都表示为Int。
number = 10print(number)# 10
二进制,八进制,十六进制
在整数前面加上0b,0o,0x分别表示这个数是二进制、八进制、十六进制。
进制概念的参考:
进制的概念与转换(二进制、十进制、八进制、十六进制)琴酒3的博客-CSDN博客进制的概念及换算
num1 = 0b10001 # 17num2 = 0o17 # 15num3 = 0xFF # 255
进制转换
num = int('23',16)print(num) # 35
这里是使用int函数进行进制转换的,第一个参数'23'是转换进制前的数,第二个参数16是这个数是十六进制数,所以最后转为十进制就是2*16+3=35。
上面用int是将其他进制的数转化为十进制,同样也可让十进制转换为其他进制:
num = 26print('%x'%num) #1aprint(hex(num)) #0x1aprint(format(num,'x')) #1a
这里推荐最后一种方法,转换比较通用:
- format(number,’b’):二进制
 - format(number,’o’):八进制
 - format(number,’x’):十六进制
 
可以发现format函数前面是需要转化的数,后面就是转换进制的类型,这个类型和上面的0b,0o,0x是对应起来的。
浮点数
基本浮点数
浮点数基本有两个类型float和double,这两个的区别就只是精度的差别,都可以使用。
number = 3.14print(number) # 3.14
浮点数的指数表示
这里的e2表示的就是*102:
number = 3.14e2print(number)# 314.0
注意:浮点数运算之后仍然是浮点数,所以会保留小数点。 由于计算机限制,浮点数会有精度损失,但是基本对初学不影响,知道就好。
数据运算符号
| 运算符 | 描述 | 实例 | 
|---|---|---|
| + | 加 - 两个对象相加 | 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//2 = -5  | 
比较运算符
| 运算符 | 描述 | 实例 | 
|---|---|---|
| == | 等于 - 比较对象是否相等 | (a == b) 返回 False。 | 
| != | 不等于 - 比较两个对象是否不相等 | (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。 | 
字符串
基本字符串
在赋值的使用,用单引号''或者双引号""引用的都是字符串:
str = "Hello World"
转义字符串
一般来讲'和"不能直接在字符串中表示,所以需要转义字符串\来表示
例如:
str ='I\'m \"OK\"!'print(str)# I'm "OK"!
当然如果想直接用''也可以额,字符串必须用""进行包裹:
str = "I'm OK"print(str)# I'm OK
如果想直接使用"",可以用三引号包裹:
str = ''' I'm "OK" '''print(str)# I'm "OK"
如果只是想输出反斜杠\,有两种方法,一种是用\转义\,比较麻烦,这里直接讲第二种:
strs = r'C:\temp\data.dat'print(strs) # C:\temp\data.dat
 只需要在字符串前面添加一个字母r即可(大小写都可以),这样字符串就会原样输出。
字符串运算符
下表实例变量 a 值为字符串 “Hello”,b 变量值为 “Python”:
| 操作符 | 描述 | 实例 | 
|---|---|---|
| + | 字符串连接 | >>>a + b ‘HelloPython’  | 
| * | 重复输出字符串 | >>>a * 2 ‘HelloHello’  | 
| [] | 通过索引获取字符串中字符 | >>>a[1] ‘e’  | 
| [ : ] | 截取字符串中的一部分 | >>>a[1:4] ‘ell’  | 
更多字符串方法参照:
Python 字符串 | 菜鸟教程
Python字符串常用方法详解
布尔类型
布尔类型的数据只有两个:True和False,一般用于判断式子的真假:如果是真,返回True,否则就是返回False。
flag = 1 > 2print(flag) # False
数据之间的转化
向下取整
使用int()进行强制类型转化即可,会自动把小数部分舍去。
num = 1.65print(int(num)) # 1
向上取整
这里使用的Math.ceil函数,这里只需要记住用法即可
import math # 这里需要先导入函数库num = 1.05print(math.ceil(num)) # 2
四舍五入
num1 = 1.65print(round(num1)) # 2num2 = 1.01print(round(num2)) # 1
整数转为浮点数
num = 2print(float(num)) # 2.0
字符串转化为数字
num1 = '1.65'print(int(num1)) # 1num2 = '1.01'print(float(num2)) # 1.01
数字和布尔类型的关系
一句话:0等价于False,其余等价于True。
字符转化为ASCII码
ASCII码表:
ASCII码一览表,ASCII码对照表
ASCII 编码中第 0~31 个字符(开头的 32 个字符)以及第 127 个字符(最后一个字符)都是不可见的(无法显示),但是它们都具有一些特殊功能,所以称为控制字符( Control Character)或者功能码(Function Code)。
strs = 'A'print(ord(strs)) # 65
还可以反向转化:
num = 65print(char(num)) # A
字符串转换公式
先看实例:
strs = input() # 2*3print(eval(strs)) # 6
这里的strs是自己输入的,默认是字符串类型,如果输入一个公式,eval可以直接转化为公式进行计算。
条件判断和循环
条件判断
普通写法
条件判断的语句是if语句,其他条件使用elif(全称为:else if),else表示除开if和elif中的条件剩下所有的情况。
当判断语句为真的时候才会执行相关内容。
age = 3# 年龄大于等于18的时候输出adultif age >= 18:print('adult')# 年龄小于18 并且年龄大于等于6的时候 输出teenagerelif age >= 6:print('teenager')# 不属于上面两种情况的时候输出kidelse:print('kid')#如果需要一个条件语句里面写多个语句,只需要保持缩进即可
注意缩进符号,这里不需要大括号。 if后面直接跟随条件即可 主要判断语句后面要加
:
化简写法
如果只有if和else,并且当需要执行的语句比较简单的时候,可以对语句进行化简,举个例子:
# 控制台中输入成绩grade = int(input())if grade >= 60:print("及格")else:print("不及格")
上面的可以化简为:
grade = int(input())print("及格" if grade >= 60 else "不及格")
这里的意思就是,当if后面的条件语句为真的时候,就会输出if前面的"及格",如果不成立,那就输出最后的"不及格"。
条件判断运算符
一般条件判断中会涉及到数字大小的判断,这里需要用到条件判断运算符:
| 运算符 | 描述 | 实例 | 
|---|---|---|
| == | 等于 - 比较对象是否相等 | (a == b) 返回 False。 | 
| != | 不等于 - 比较两个对象是否不相等 | (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。 | 
注意:如果想要判断两个数字相等,应该使用的
==而不是=!
循环
range函数
range(start, stop, step)
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0,5) 是[0, 1, 2, 3, 4]没有5step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
range其实本质上是一个函数,用于生成一个数组。
举例说明:
>>>range(10) # 从 0 开始到 9[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> range(1, 11) # 从 1 开始到 10[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> range(0, 30, 5) # 步长为 5[0, 5, 10, 15, 20, 25]>>> range(0, 10, 3) # 步长为 3[0, 3, 6, 9]>>> range(0, -10, -1) # 负数[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]>>> range(0)[]>>> range(1, 0)[]
for in循环
names = ['Michael', 'Bob', 'Tracy']for name in names:print(name)# Michael# Bob# Tracy
所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。
sum = 0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:sum = sum + xprint(sum)
**结合range函数**
sum = 0for x in range(101):sum = sum + xprint(sum)# 5050
这里就相当于x是从0循环到101-1,也就是100,每次循环,都让sum = sum + x,也就是sum每次都加上一个x,所以最后sum的值就是0-100这101个数的和。
while循环
先看例子:
sum = 0n = 99while n > 0:sum = sum + nn = n - 2print(sum)# 2500
while后面跟的是一个条件判断语句,类似于if语句。
当条件判断语句为真的时候,就会执行一遍while中的所有代码。
所有代码执行一遍之后,会再次进行条件判断,如果还是为真,继续执行,反之则中止循环。
上述代码中n初始值为99,第一次条件判断为真,所以执行下面两行代码:
sum = sum + nn = n - 2
执行完毕之后,n = n-2也就是97,此时会再次进行条件判断,条件语句仍然成真,所以继续执行:
sum = sum + nn = n - 2
最后不难发现知道n=-1的时候,循环中止,此时的sum是1-99的所有奇数的和,也就是2500。
break
n = 1while n <= 100:if n > 10: # 当n = 11时,条件满足,执行break语句break # break语句会结束当前所有循环print(n)n = n + 1print('END')# 1# 2# 3# 4# 5# 6# 7# 8# 9# 10# END
continue
n = 0while n < 10:n = n + 1if n % 2 == 0: # 如果n是偶数,执行continue语句continue # continue语句会直接继续下一次循环,后续的print()语句不会执行print(n)# 1# 3# 5# 7# 9

注意continue只是跳出当前这一次的循环,break则是跳出所有的循环。
