python入门
Python介绍
Python的来源
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
最新的TIOBE排行榜,Python赶超PHP占据第3, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
python2.X即将淘汰

python的解释器
python是一门弱类型,解释型,高级编程语言。
python的程序是通过python解释器,逐行运行的,执行效率相对于编译行是比较慢的,但是开发效率比较高。
解释器:
- CPython: 该解释器是由C语言编写。
- IPython: IPython是基于CPython之上的一个交互式解释器,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。
- Jpython: Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
- IronPython: 和.net平台相关的python解释器。
- PyPy: PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行编译,所以可以显著提高Python代码的执行速度。
变量
什么是变量?
变量就是一个可变的值,变量本质就是一个符号,负责存储程序运行过程中产生的值,提供给后面的程序调用使用。
如何定义变量?
name = yanshicheng money = 100
变量的命名规范
- 变量由可由数字、字母、下划线任意组合。
- 变量名的第一个字符不可以是数字,也不能是纯数字。
- python关键字不能定义变量。
- 不要使用中文,变量名不要太长,变量名区分大小写,定义变量名要有意义。
- 定义变量名建议使用驼峰或者下划线命名。
# 驼峰写法 LisiAge = 28 # 下划线写法 lisi_age = 28
常量
常量即不变的量。例如:π ,3.141592653.....,或者在程序中不会改变量的量
NAME = lisi print(1)
用户交互
用户交互简单来说就是登陆网站,qq等程序时,输入用户名和密码即为用户交互。通过用户输入内容在到后台判断用户输入是否正确正确则登陆,错误则重试一类。
所以根据这一类用户交互要求要写出,接收用户输入数据的机制。
注:用户所输入值,都为字符串(str)类型。
name = input("请输入用户名:")
数据类型
数字
整形:int
浮点型:float
age = 18 print(type(age)) #<class 'int'> salary=3.1 print(type(salary)) #<class 'float'>
字符串
字符串:str
name='yanshicheng' print(type(name)) # <class 'str'>
布尔
布尔值一个为‘True’一个为‘False’
条件为真则为:True
条件为假则为:False
重点:
所有数据类型自带布尔值
- None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
- 其余均为真
a = 5 b = 7 print(a > b) # False print(a < b) # True
基本运算符
数字运算符
假设:a = 10 | b = 20
| 运算符 | 描述 | 实例 |
| + | 加法运算 | a + b = 30 |
| - | 减法运算 | a - b = 10 |
| * | 乘法运算 | a * b = 200 |
| / | 除法运算 | b / a = 2 |
| % | 取模-返回整除的余数 | b % a = 0 |
| ** | 幂-返回x的y次幂 | 3 ** 3 = 27 |
| // | 取整除-返回商的整数部分 | 9 // 2 = 4 |
比较运算
假设:a = 10 | b = 20
| 运算符 | 描述 | 实例 |
| == | 等于 - 比较两个对象是否相等 | (a == b) 返回 False |
| != | 不等于 - 比较两个对象是否不相等 | (a != b)返回True |
| <> | 不等于 - 比较两个对象是否不相等 | (a <> b)返回True |
| > | 大于 - 比较 a 是否大于b | ( a > b ) 返回 False |
| < |
小于 - 比较a是否小于b。所以比较运算符返回1表示为真,返回0表示为 假。真则为True,假则为False |
( a < b ) 返回 True |
| >= | 大于等于 - 比较 a 是否大于b 或者等于b | ( a >= b ) 返回 False |
| <= | 小于等于 - 比较 a 是否小于b 或者等于b | ( a <= b ) 返回 True |
赋值运算符
假设: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 |
逻辑运算
例如: a = True | b = False
| 运算符 | 描述 | 实例 |
| and | 布尔“与” 两边都为真则真 | (a and b ) 返回 False |
| or | 布尔“或” 一边为真则为真 | (a not b ) 返回 True |
| not | 布尔“非” 取反 | not(a and b) 返回 True |
流程控制
流程控制之 if
if语句结构
# 单分支结构
if 条件1:
缩缩进代码块
# 双分支结构
if 条件1:
缩进代码块
else
缩进代码块
# 多分支结构
if 条件1:
缩进代码块
elif 条件2:
缩进代码块
elif 条件3:
缩进代码块
else
缩进代码块
# 嵌套if
if 条件1:
if 条件2:
缩进代码块
else
缩进代码块
else
缩进代码块
例子:
1)利用if语句写出猜大小的游戏:设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确。
# 定义一个变量用于接收用户输入数字,并做int转换
in_num = int(input("请输入数字:"))
# 定义一个最终数字
num = 66
# if流程控制判断用户输入数字。
if num > in_num:
print("猜测结果小了哦!")
elif num == in_num:
print("猜测结果正确!")
else:
print("猜测结果大了哈!")
2):提示用户输入麻花藤. 判断用户输入的对不对. 如果对, 提示真聪明, 如果不对, 提示你是傻逼么
# 定义用户输入名字
in_name = input("请输入用户名:")
# 定义真实名字用来跟用户输入名字做配对
name = "麻花藤"
# 判断用户输入名字是否跟系统中一致
if name == in_name:
print("真聪明!")
else:
print("你是傻逼么?")
流程控制之while循环
while语句结构
# 如果条件为真则一直循环while内部代码,并且执行完毕后再次进行条件判断
# 如果条件为假时,终止循环,循环结束
while 条件1:
循环体
迭代循环语句for
for语句结构:
for 变量名字 in 列表:
缩进循环体
打印九九乘法表
# for循环和while循环一样也可以使用break和continue, 和else
# for循环只有当迭代结束的时候才能执行else
for i in range(1,10):
for j in range(1,i+1):
print('%s*%s=%s' %(i,j,i*j),end=' ')
print()
例子:
1)使用while循环输入 1 2 3 4 5 6 8 9 10
#定义一个初始值
num = 1
while num < 11:
if num == 7: # 判断num值是否等于7,如果等于自增1后跳出本次循环
num +=1
continue
print(num)
num +=1 # 每次循环自增1
2) 输出 1-100 内的所有奇数
num =1
# 如果条件为真则进入循环,num的余数如果不等于0则是奇数,打印num值
while num < 101:
obb_num = num % 2
if obb_num != 0:
print(num)
else:
pass
num += 1
3) 求1-100的所有数的和
# 定义初始值
num = 1
# 定义一个变量存储和的值
total = 0
while num < 101:
total = total + num #每次num自增一并与total相加,每次结果赋值给total
num += 1
# 打印和
print(total)
4)求1-2+3-4+5 ... 99的所有数的和
# uum为初始值,obb_num为最终和
# 条件为真则进入循环,如果unm和2整除赋值给tem,tem如果是1则是奇数
# unm加上obb_num的数,如果为0则减去
unm = 1
obb_num = 0
while unm < 100:
tem = unm % 2
if tem == 1:
obb_num = obb_num + unm
else:
obb_num = obb_num - unm
unm += 1
print(obb_num)
作者:闫世成
出处:http://cnblogs.com/yanshicheng

浙公网安备 33010602011771号