Python语言学习(一)(基础、数据类型、运算符和程序控制结构)

程序设计的基础知识

  • 人与机器沟通有三种方式:
    1、机器学习人的语言就是自然语言处理;
    2、人学习机器语言,但比较困难;
    3、因此共同学习第三种语言:程序设计语言。

  • c、c++等是编译型语言,可以理解为将一种语言的文章整体翻译成另一种语言;BASTIC、Python等是解释型语言,可以理解为同声传译。

  • 解释型语言的优点是灵活、可移植性高;缺点是执行效率较低。

  • Python特点有:易学易用、可读性高;支持面向对象、泛型设计、支持函数式编程;丰富的数据结构和第三方函数库,功能强大。

  • 1991年诞生的第一个python编译器是用c语言实现的。1994年python1.0发布,2000年python2.0发布,2008年python3.0发布。

  • python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。

  • 在python中,缩进也作为语法的一部分,需要谨慎排布。

  • 目前Python在Web应用开发、云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。

  • 在python中,只要是成对的引号,不管是单引号还是双引号,都可以表示字符串。 以#开始的,井号后面整行都会被注释掉,称为行注释。

  • 以三个引号开始,三个引号结束,为块注释,其中的所有内容都会注释,同样不区分单双引号。


数据类型

  • python支持五种基本数据类型:字符串str、整数int、浮点数float(其中 2.1E2 表示2.1乘100,E2即10的二次方)、布尔数bool(只有True和False)、复数complex(表示形式如1+1j)。
  • python2中有int与long两种类型的整数,python3中只有一种,并支持2、8、10、16进制。
  • 字符串以单引号或双引号括起来,如需要书写成多行,则需使用成对的三个单引号或双引号括起来。而如果代码太长写成一行不便于阅读,可以使用\或在外部用()括起来再进行折行。
  • 复数形式形如3+5j,与数学上表示一样,但虚部的i换成了j。
  • type(具体数据)用来查看数据的类型。
  • 区分整数和浮点数的原因:1、浮点数表示能力更强;2、浮点数有精度损失;3、CPU有专门的浮点数运算部件。

运算符

  • python中使用* *表示指数运算,如2**3即2的三次方。

  • “/”表示向下取整除,整数相除会舍去小数部分,如果其中有浮点数,则结果为浮点数。

  • "//"表示整数除法,在python新版本中可能“/”只表示浮点除,“//”只表示整除。

  • 不等于可以表达为“!=”或者“<>”。

  • 逻辑运算符有:and、or、not三种,其中not写在条件之前。

  • 例如“如果年份y能被4整除但是不能被100整除,或者能被400整除,则是闰年”一句的逻辑关系,在python里可以表达为(y % 4 == 0 and y % 100 != 0) or (y %400 == 0)。

  • 在算术运算中,使用括号可以提高括号内运算的优先级,括号内具有最高优先,嵌套括号按照由内而外计算。

运算符描述
[] [:]下标,切片
~ + -按位取反, 正负号
* / % //乘,除,模,整除
+ -加,减
>> <<右移,左移
&按位与
<= < > >=小于等于,小于,大于,大于等于
== !=等于,不等于
is/is not身份运算符
in/not in成员运算符
not/or/and逻辑运算符
= += -= *= /= %= //= **= &= ^= >>= <<=(复合)赋值运算符

程序控制结构

  • if条件判断语句的语法:if+条件+:+(换行缩进)+语句块,如有else判断,else后也要加冒号。
  • 如在else中仍然要进行条件判断,则else写成elif,并在其后跟条件进行判断,示例如下:
if a >= 90:
    print('A')
elif a >= 80:
    print('B')
else:
    print('C')
  • while循环结构语法需注意以下三点:1、循环体外设定循环可执行的初始条件;2、循环体内书写需重复执行的代码;3、设定循环条件并在循环体内设定条件改变语句。
  • 示例如下:
count = 0
while count < 5:
    print('Programming is fun!')
    count += 1
  • while ture表示循环始终成立。
  • for循环的语法为:”for 变量/元素 in 对象:“,后跟嵌套循环体。
  • range(起始值,结束值,步数)函数可以有多个参数,不写起始值就会从0累增到离结束值差一个单位的数值,不设置步数就默认为1。例如,range(10,2,-1)即{10,9,8,7,6,5,4,3}。
  • for-in循环:明确地循环执行的次数或者要对一个容器进行迭代;while循环:不知道具体循环次数,用产生的bool表达式来控制循环。
  • break能终止它所在的那个循环,continue可以用来放弃本次循环后续的代码直接进入下一轮循环。
  • while循环更通用,任何for循环都可以用while循环代替。for循环适用于已知循环的范围,while循环适用于其他情况。

扩展

  • input()函数用来读取键盘输入,将所有输入作为字符串看待。input()的括号中可以填写提示符,如input(‘a=’),显示结果就是”a=输入内容“。
  • print()函数中如需添加提示语句或格式化输出,需要在单引号后添加%再添加要输出的变量,单引号中可以对输出格式化或进行文字补充说明。print输出默认换行,如不需换行,应写成print(x,end=’’)的形式。
  • print中"end="表示每次输出后跟的内容,可以将结果输出到同一行,或者在输出的末尾添加不同的字符,如end=’ '即在输出不换行,end=‘\n’即默认换行。
  • 在python中\n表示回车,\t表示tab,\表示一个\,\a表示响铃,'表示一个单引号,\“表示一个双引号。
  • 模块(module)是实现一定功能的python脚本集合,math模块可以支持更多的算术运算,引入模块的方法:import 模块名,查看模块所含元素的方法:dir(模块名)。
  • math中的sqrt()函数可以返回键入值的平方根,abs()函数返回给定参数的绝对值,参数可以是实数(整数、浮点数等)或复数,如果参数是复数,则返回复数的模(即实部和虚部平方和的正平方根)。
  • turtle系列函数可以在屏幕上绘制图形,示例代码如下。
import turtle
turtle.pensize(4)
turtle.pencolor('red')
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.right(90)
turtle.forward(100)
turtle.mainloop()
  • ord()函数可以将键入字符转化成其对应的ASCLL数值或Unicode数值,而chr()可以将整数转化成该编码所对应的字符串(一个字符)。
  • int()、float()、str()可以将指定对象转化成它们对应的数据类型。
  • getpass模块提供了可移植的密码输入,包括.getpass()和.getuser()两个函数,用来获取密码和用户名,但pycharm不支持该模块。
  • random模块中的randint函数可以生成指定范围的随机数来模拟掷骰子,如a=randint(1,6),但在使用该函数时要注意首先from random import randint。
  • map()函数会根据提供的函数对指定序列做映射,例如map(int,a)即将序列a转化为int类型。值得注意的是,在python3中,使用map函数返回的是map类型,如果需要得到如列表类型的序列,则应当写成‘payIntList = list(map(int,payList))’的形式。
  • factorial()函数用来求阶乘。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值