热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

1Python基础

python基础python的历史python由吉多.范罗苏姆(简称:龟叔)在1989年圣诞节期间为打发假期时间创建的python崇尚优美、简单、清晰国内python主要应用的公司
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解释器
  • 这几种的图形解释
    技术分享图片

    变量

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

技术分享图片

变量的定义规则

  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‘)
执行结果是一直循环:
 我们不一样
 在人间
 痒
  • 执行过程
    技术分享图片

    终止循环之条件终止

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

1 Python基础


推荐阅读
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
mobiledu2502927743
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有