python基础

python的历史

  • python由吉多.范罗苏姆(简称:龟叔)在1989年圣诞节期间为打发假期时间创建的
  • python崇尚优美、简单、清晰
  • 国内python主要应用的公司:豆瓣、知乎
  • python主要应用领域:云计算、web开发、科学计算、系统运维、金融
  • 1991年第一个编译器诞生
  • 2004年python2.4 Djiango的诞生具有跨时代的意义

python的优缺点

优点

  • python的定位是优雅、明确、简单
  • 开发效率非常高—有强大的第三方库
  • 高级语言
  • 可移植性—可移植性到其他平台上
  • 可扩展性—可以把部分程序用C或C++编写,然后在python中使用他们
  • 可嵌入性—可以把python嵌入C或C++程序中

缺点

  • 速度慢
  • 代码不能加密
  • 线程不能利用多CPU

python的环境

编译型

编译型:一次性将所有程序编译成二进制文件,然后在进行运行

优点:运行速度快

缺点:开发效率低(出现bug需要从头进行编译)、不能跨平台

编译型语言典型例子:c c++等

解释性

解释型:当程序执行时,一行一行的解释

优点:开发效率高、可以跨平台

缺点:运行速度慢

解释型语言典型例子:python、php等等

python是一门动态解释型的强类型定义语言

python的种类

  • CPython:是使用最广泛的解释器
  • IPython:是基于CPython之上的一个交互式解释器
  • PyPy:他的目标在于执行速度,但是开发效率慢
  • JPython:运行在Java平台上的python解释器
  • IronPython:在微软上运行的python解释器
  • 这几种的图形解释
    1 Python基础_第1张图片

    变量

  • 变量就是将一些运算的中间结果暂存到内存中,方便后续代码的调用
例:name = 'taibai'

1 Python基础_第2张图片

变量的定义规则

  1. 必须由数字、字母、下划线的任意组合,且不能以数字开头
  2. 不能是python中的关键字
  3. 不能是中文
  4. 变量具有可描述性

变量的定义与赋值(=)

name = 'jooker'
num = 1

python中变量赋值不需要类型声明

每个变量在使用前都必须先赋值,变量赋值以后该变量才会被创建

每个变量在内存中被创建,都包括变量的标识、名称和数据这些信息

等号(=)用来给变量进行赋值

常量

常量就是一直不变的量,在python中是没有常量的,但是通常在python的定义中大写就是常量

例:BIR_OF_CHINA = 19949

注释

  • 单行注释:# 被注释的内容
  • 多行注释:'''被注释的内容'''或者"""被注释的内容""""

用户交互input

  • input出来的数据类型全部都是str
name = input('Pls 输入你的名字:')
age = input('Pls 输入你的年龄:')
print(name,age)

pycharm的安装

注意:安装pycharm时要选择专业版的而不是社区版的

初识编码

  • 电脑的传输以及数据的存储都是比特流(二进制的码流 0101001)
  • 最早的密码本是ascii码,涵盖了英文字母的大小写、特殊字符和数字
  • 由于ascii码只能表示256种可能,太少,所以创建了万国码unicode
  • unicode中4个字节表示一个中文
  • utf-8是unicode的升级版,用3个字节表示一个中文
  • gbk是国人自己发明的,用2个字节表示一个中文,仅在国内使用
  • 8bit == 1byte
  • 1024byte == 1kb
  • 1024kb == 1MB
  • 1024MB == 1GB

格式化输出

%

  • %代表占位符
  • %s 代表str
  • %d 代表数字
  • %% 代表单纯的%
    例子:
name = input('Pls 输入你的名字:')
age = input('Pls 输入你的年龄:')
job = input('Pls 输入你工作:')
hobbie = input('Pls 输入你的爱好:')
msg = '''------info of %s------
Name:   %s
Age:    %d
Job:    %s
Hobbie: %s
------end of------
'''%(name,name,int(age),job,hobbie)
print(msg)

运行结果为:
Pls 输入你的名字:jooker
Pls 输入你的年龄:18
Pls 输入你工作:Operation Engineer
Pls 输入你的爱好:girl
------info of jooker------
Name:   jooker
Age:    18
Job:    Operation Engineer
Hobbie: girl
------end of------

format

format的三种方法

#对应输入
s = '我叫{},今年{},爱好{},再说一遍,我叫{}'.format('jooker','18','girl','jooker')
print(s)
#输入相应的索引
s = '我叫{0},今年{1},爱好{2},再说一遍,我叫{0}'.format('jooker','18','girl')
print(s)
#以键值对输入,可以打乱顺序
s = '我叫{name},今年{age},爱好{hobbile},再说一遍,我叫{name}'.format(age = 18,name = 'jooker',hobbile = 'girl')
print(s)

运行结果为:
我叫jooker,今年18,爱好girl,再说一遍,我叫jooker
我叫jooker,今年18,爱好girl,再说一遍,我叫jooker
我叫jooker,今年18,爱好girl,再说一遍,我叫jooker
name = input('Pls 输入你的名字:')
age = input('Pls 输入你的年龄:')
hobbile = input('Pls 输入你的爱好:')
s = '我叫{0},今年{1},爱好{2},再说一遍,我叫{0}'.format( name,age,hobbile)
print(s)
s = '我叫{name},今年{age},爱好{hobbile},再说一遍,我叫{name}'.format(age = age,name = name,hobbile = hobbile)
print(s)

运行结果为:
Pls 输入你的名字:jooker
Pls 输入你的年龄:18
Pls 输入你的爱好:girl
我叫jooker,今年18,爱好girl,再说一遍,我叫jooker
我叫jooker,今年18,爱好girl,再说一遍,我叫jooker

运算符

逻辑运算符

  • or、and、not
  • 优先级:() > not > and > or
  • x or y:若x非0返回的结果为x
例子:
print(2 > 1 and 1< 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)
分析:
2 > 1 and 1< 4 T
2 < 3 and 9 > 6 T
2 < 4 and 3 < 2 F
所以:
T or T or F 
所以结果为:T

基本循环

条件语句:if

语法

第一种if:单选

if 4 > 5 :
    print('我请你喝酒')
print('喝什么酒')

if 4 > 5 :
    print('我请你喝酒')
else:
    print('喝什么酒')

第二种if:多选

num = input('Pls 输入你猜的数字:')
if num == '1' :
    print('抽烟')
elif num == '2' :
    print('一起喝酒')
elif num == '3' :
    pring('新开了一家,走看看去')
else:
    print('你猜错了')

source = int(input("Pls 输入你的分数:"))
if source > 100 :
    print('哎呀~卧槽 满分才100分')
elif source > 90 :
    print('我擦,优秀 牛逼呀')
elif source > 70 :
    print('中等 一般般')
elif source > 60 :
    print('刚及格')
else:
    print('你也太菜了吧,还不及格')

第三种if:嵌套

num = input('Pls 输入你猜的数字:') 
age = input('Pls 输入你猜的年龄:')
if name == '小二' :
    if age == '18' :
        print(666)
    else:
        print('年龄不对')
else:
    print('错了…… 不是本人')

循环语句:while

语法

while 条件:
    循环体:

如果条件为真,则循环体执行
如果条件为假,则循环体不执行

无限循环

while True:
    print('我们不一样')
    print('在人间')
    print('痒')
print('222')
执行结果是一直循环:
 我们不一样
 在人间
 痒
  • 执行过程
    1 Python基础_第3张图片

    终止循环之条件终止

flag = True
count = 1
while flag:
    count += count
    if count > 100:
        flag = False
print('结束')

终止循环之break

终止整个循环

print('11')
while True:
    print('22')
    print('33')
    break
    print('44')  # 强制终止循环
print('55')

运行结果为:
11
22
33
55

终止循环之continue

终止本次循环继续下次循环

count = 0
while count<=100:
    count += 1
    if count > 5 and count < 95:
        continue
    print('loop',count)
print('------out of while loop------')

运行结果为:
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
------out of while loop------

while else

当循环被break打断时,不会执行else

count = 0
while count<=5:
    count += 1
    if count == 3:
        pass
    print('loop',count)
else:
    print('循环正常执行完了')
print('------out of while loop------')

运行结果为:
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
循环正常执行完了
------out of while loop------
count = 0
while count<=5:
    count += 1
    if count == 3:
        break
    print('loop',count)
else:
    print('循环正常执行完了')
print('------out of while loop------')

运行结果为:
loop 1
loop 2
------out of while loop------

for循环(有限的循环)

s = 'jookerORroot'
for i in s:
    print(i)

运行结果为:
j
o
o
k
e
r
O
R
r
o
o
t