Python入门与基本语法

1.python简介

Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。

Python 语言是在 ABC 语言的基础上发展而来,其设计的初衷是成为 ABC 语言的替代品。ABC 语言虽然是一款功能强大的高级语言,遗憾的是,由于 ABC 语言不开放的原因,导致它没有得到普及应用。基于这个考虑,Guido 在开发 Python 之初就决定将其开源

Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(batteries included)”。用Python开发,许多功能不必从零编写,直接使用现成的即可。

除了内置的库外,Python还有大量的第三方库,也就是别人开发的,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。

2.python应用领域

python主要应用领域有以下6点

Web应用开发 

   在 Web 开发领域,Python 绝对是一颗冉冉升起的新星。尽管 PHP、JS 目前依然是 Web 开发的主流语言,但 Python 上升势头非常猛劲。尤其随着 Python 的 Web 开发框架逐渐成熟(比如 Django、Flask、Tornado、Web2py 等等),程序员可以更轻松地开发、管理复杂的 Web 程序。

自动化运维

所谓自动化运维,实际上就是利用一些开源的自动化工具来管理服务器,比如业界流行的 Ansible(基于Python开发),它能帮助运维工程师解决重复性的工作。

人工智能领域

目前世界上优秀的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)、FaceBook 的 PyTorch(神经网络框架)以及开源社区的 Karas 神经网络库等,都是用 Python 实现的。

网路爬虫

Python 语言很早就用来编写网络爬虫。Google 等搜索引擎公司大量地使用 Python 语言编写网络爬虫。从技术层面上讲,Python 提供有很多服务于编写网络爬虫的工具,例如 urllib、Selenium 和 BeautifulSoup 等,还提供了一个网络爬虫框架 Scrapy。

科学计算

Python 提供了支持多维数组运算与矩阵运算的模块numpy、支持高级科学计算的模块Scipy、支持2D绘图功能的模块matplotlib,又具有简单易特点,因此被科学家用于编写科学计算程序。

游戏开发

很多游戏开发者先利用Python或Lua编写游戏的逻辑代码,使用C++编写图形显示等对性能要求较高的模块。Python标准库提供了pygame模块,利用这个模块可以制作2D游戏。

3.变量和数据类型

        1.变量

                1.变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如:可将变量命名为message_1,但不能将其命名为1_message。

                2.变量名不能包含空格,但可使用下划线来分隔其中的单词。例如:变量名greeting_message 可行,但变量名greeting message会引发错误。

                3.不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词

                4.变量名应既简短又具例如:name比n好,student_name比s_n好,name_length 比length_of_persons_name好有描述性。

        2.数据类型

                1.python语言

                        Python是一门动态的(dynamic)且强类型(strong)语言。

        动态/静态

  • 在静态类型语言(statically typed languages)中,类型检查发生在编译阶段(compile time)

  • 在动态类型语言(dynamically typed languages)中,类型检查发生在运行阶段(run time)

  • 静态类型(static): 所有的变量类型必须被显示地声明,因为这些信息在编译阶段就被需要。

  • 动态(Dynamic): 显示声明不被要求,因为类型赋值发生在运行阶段。

        强类型/弱类型

  • 在强类型中,不管在编译时还是运行时,一旦某个类型赋值给某个变量,它会持有这个类型,并且不能同其他类型在计算某个表达式时混合计算。

  • 在弱类型中,它是很容易与其他类型混合计算的。

Java中的数据类型:String int/short/long/byte/double/float/boolean/char Python中的数据类型:str/int/float/bool

                2.str (字符串)

在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号

# 单引号和双引号
temp = 'hello python'
temp = "hello python"
print(temp)

temp = 'I say "hello world"'
print(temp)
# 转义符处理
temp="I say \"hello world\""
print(temp)

# 通过+拼接字符串
print(temp+"...")

# 使用制表符\t和换行符\n
print("I say \thello \nworld")
                3.int(整数)

在Python中,可对整数执行加(+)减(-)乘(*)除(/)运算。

# 加(+)减(-)乘(*)除(/)运算
count = 8
print(count+1)
print(count-1)
print(count/2)
print(count*2)
# 使用两个乘号表示乘方运算
print(count ** 2)  # 相当于count * count
# 符号*打印输出30次
print("*"*30)
                3.float(浮点型)

Python将带小数点的数字都称为浮点数。

a = 0.1
b = 0.2
print(b-a)  # 0.1
                4.bool(布尔)

Python提供了 bool 类型来表示真(对)或假(错),比如常见的5 > 3比较算式,这个是正确的,在程序世界里称之为真(对),Python 使用 True 来代表;再比如4 > 20比较算式,这个是错误的,在程序世界里称之为假(错),Python 使用 False 来代表

4.基本语法

        1.列表

需要明确的是,Python中没有数组,但是加入了更加强大的列表。如果把数组看做是一个集装箱,那么 Python 的列表就是一个工厂的仓库。

从形式上看,列表会将所有元素都放在一对中括号[ ]里面,相邻元素之间用逗号,分隔,如下所示:

nums=[0,1,2,3,4,5,6,7,8,9]
                1.常规操作
                                1.追加append:在列表末尾添加元素
nums.append(100)
print(nums)
                                2.插入insert:在列表中插入元素
nums.insert(0,666)
print(nums)
nums.insert(-2,777)
print(nums)
                                3.删除del
del nums[0]
print(nums)
                                4.删除(出栈方式)pop:出栈|根据索引删除
# 默认从最后一个开始出栈
print(nums.pop())
# 通过指定索引下表出栈
print(nums.pop(0))
print(nums)
                                5.删除remove:根据元素删除

方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

# remove删除
nums.remove(5)
print(nums)
# 判断元素是否存在
print(5 in nums)
print(5 not in nums)
                                 6.排序和反转
# 临时性排序
print(sorted(nums))
# 永久性排序
nums.sort()
print(nums)

------------------------------------
nums.reverse()
print(nums)
                                        7.切片
# start:起始下标
# stop:停止下标
# step:步长
# start和stop的正值代表列表下标
print(nums[::2])
print(nums[1::2])
print(nums[0:4:2])
# start和stop负值代表列表从右往左数起,不包含结束位置
print(nums[-1:-3:-1])
# 单独一个冒号,代表从头取到尾,步长默认为1
print(nums[:])
# 单独两个冒号一样代表从头取到尾,步长默认为1
print(nums[::])
# 两个冒号后面是步长。步长为1,从左到右;步长为-1,从右到左
print(nums[::1])
print(nums[::-1])
# 赋值操作
# nums[0:4]=[]
nums[0:4]=[1,2]
print(nums)

 5.元组

元组(tuple)是Python中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。

元组和列表(list)的不同之处在于:

  • 列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表是可变序列;

  • 而元组一旦被创建,它的元素就不可更改了,所以元组是不可变序列。
nums=(0,1,2)
a,b,c=nums
print(a)
print(b)
print(c)
print(len(nums))
print(nums)

# tuple类型一旦初始化就不能修改
# nums[0]=5
# print(nums)

 6.集合

Python中的集合,和数学中的集合概念一样,用来保存不重复的元素,即集合中的元素都是唯一的,互不相同。

从形式上看,和字典类似,Python 集合会将所有元素放在一对大括号 {} 中,相邻元素之间用“,”分隔。

# 创建一个空的set集合
# cities = set()
# 使用{}创建带有数据的set集合且不能重复
cities = {'hunan', 'shanghai', 'beijing','hunan'}
print(cities)
# 出栈,随机
print(cities.pop())
# 指定删除,remove删除不存在的元素则报错
# cities.remove("hunan")
# 判断元素是否存在
if "hunan" in cities:
    cities.remove("hunan")
# discard删除不存在的元素不报错
cities.discard("beijing")
# clear代表清除
cities.clear()
print(cities)
# 集合运算
a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
# a-b的差集
print('a-b的差集:'+str(a - b))
# b-a的差集
print('b-a的差集:'+str(b - a))
# a和b的并集
print('a | b的并集:'+str(a | b))
# a和b的交集
print('a & b的交集:'+str(a & b))
# a和b的对称差集
print('a ^ b的对称差集:'+str(a ^ b))

7.字典 

Python字典(dict)是一种无序的、可变的序列,它的元素以“键值对(key-value)”的形式存储。

在Python中,字典用放在花括号{}中的一系列键—值对表示。(与JSON类似)

person={
    "name":"张三",
    "age":21,
    "salary":3000
}
print(person["name"])
print(person["age"])
print(person["salary"])
person["score"]=90
print(person)

  • 15
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值