Python基本语法

119 阅读9分钟

我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章

一、标识符

标识符主要区分不同变量、方法、类以及其他对象的名字,Python标识符的命名需要遵守一定的命名规则,主要包括:

(1)Python标识符由大小写字母、下划线和数字组成,且第一个字符不能是数字。

(2)Python标识符不能和Python中的关键字相同。

(3)Python标识符不能包含空格、@、%以及$等特殊字符。

(4)在Python中,标识符中的字母是严格区分大小写的。

(5)Python语言具有面向对象的特征,下划线开头的标识符有特殊含义。

命名的建议:

(1)见名知意:name  student等

(2)命名规范:函数名、模块名使用小写的单个单词或由下划线链接的多个单词,类名使用大写字母开头的单个或多个单词

二、关键字(35个)

FalseNoneTrueandasassert
breakclasscontinuedefdelelif
elseexceptfinallyforfromglobal
ifimportinislambdanonlocal
ornotpassreturntryraise
whilewithyield   

 

import keyword  #模块(就是.py文件)

print(keyword.kwlist) # 模块里的变量,是个列表

print(len(keyword.kwlist))

 

三、变量

Python中的变量无需声明其数据类型就可以被创建,每个变量在内存中创建,在使用前都必须赋值,变量赋值以后该变量才会被创建。赋值号“=”运算符左边是一个变量名,赋值号“=”运算符右边是存储在变量中的值。

变量无须声明数据类型,通过赋值被创建,解释器会在运行时自动推断变量的数据类型。

三种赋值

1、分别赋值:变量名=数据

xx=20

yy=30

zz=”你好”

 

2、同时赋值:变量名1=变量2=数据

xx=yy=zz=20

 

3、多个变量赋多个值:变量名1,变量名2=数据1,数据2

xx,yy=20,30

 

 

四、数据类型

Python的数据类型指明了数据的状态和行为,包括number(数值类型)、 str(字符串)、list(列表)、tuple(元组)、dictionary(字典)、set(集合)等。

数值类型是Python的基本数据类型,包括int(有符号整型)、float(浮点型)、complex(复数类型)和bool(布尔类型),共4种。

用函数type()可以查看变量类型

(一)数值型

1、整型 int

Python中的整数包括正整数、0和负整数,统一指定为int类型。默认情况下,整数采用的十进制。长度没限制,内存足够大就行。

二进制  0B 或 0b

八进制  0O或0o

十六进制  0X 或0x

显示结果是十进制

转换函数:int(参数)  把参数转换为整型

 

2.浮点型  float

在Python中,小数常用浮点类型的变量进行表示。也可以使用科学计数法 :2.34e8或2.34E8。Python程序中使用字母e或E代表底数10。

Python中浮点型的取值范围为-1.8e308~1.8e308,若超出这个范围,Python会将值视为无穷大(inf)或无穷小(-inf)

转换函数:float(参数)  把参数转换为浮点型

 

3.布尔型  bool

Python 中布尔值使用关键字True 和 False来表示(注意首字符大写)。

将布尔值进行数值计算时,True 当作1和 False当作0  (只有0是False  ,其它的数是True)

内置的数据类型都可以转换为一个布尔类型的值。

image.png  

 

print(1+True)

 

4.复数型  complex

复数类型用于表示数学中的复数,一般的写法为x+yj。其中的x是复数的实数部分,y是复数的虚数部分。

 

(二)字符串 str

由单引号、双引号、三引号包裹的有序的字符集合,不可以被修改。

100+1

“100”+1

“100”+”1”

转换函数:str(参数)  把参数转换为字符串

 

 

(三)列表  list

[] ,元素逗号分隔  任意数量  任意类型  可以被修改

 

(四)元组  tuple

(),元素逗号分隔  任意数量  任意类型  不可以被修改

 

(五)字典  dict

{}  元素逗号分隔  任意数量  任意类型  可以被修改 键值对

 

(六)集合  set

{}  元素逗号分隔  任意数量  任意类型  可以被修改,元素无序唯一

 

五、python的内建函数

在交互式的命令行环境里,可通过如下方法查看:

方法一:

方法二:

import builtins    # Python2 无 module builtins

dir(builtins)    # dir([object])可查看任何 object 的属性,如 module、class、function 等

方法三:前面的都是浮云!!!

打开浏览器,复制以下网址:docs.python.org/zh-cn/3.7/l…

image.png  

 

六、输入输出函数

(一)输入函数

input()函数用于接收用户键盘输入的数据,返回一个字符串类型的数据。

语法:input([提示信息])

一般用变量接收一下,提示信息最好不要省略:

aa=input(“请输入年龄:”)

bb=input(“请输入第一个数:”)

输完数据后,按“回车”键确认

理解:print(input())

 

(二)输出函数

print()函数用于向控制台中输出数据,它可以输出任何类型的数据,其语法格式如下所示:

print(*objects, sep=' ', end='\n')

p objects:表示输出的对象。输出多个对象时,对象之间需要用分隔符分隔。

p sep:用于设定分隔符,默认使用空格作为分隔。

p end:用于设定输出以什么结尾,默认值为换行符\n。

 

经典案例

例1、打印爱心:

print('\n'.join([''.join([('Love'[(x-y) % len('Love')] 

if ((x*0.05)**2+(y*0.1)**2-1)**3-(x*0.05)**2*(y*0.1)**3 <= 0 else ' ') 
for x in range(-30, 30)]) for y in range(30, -30, -1)]))

 

例2、打印名片:

image.png

 

例3、打印购物小票:

image.png  

打印购物小票

print("单号: DH20140923001")

print("时间:2014-09-23 08:56:14")

print(".................................")

print("名称         数量   单价   金额")

print("金士顿U盘8G    1     40.00 40.00 ")

print("胜创16GTF卡    1     50.00 50.00 ")

print("读卡器         1     8.00  8.00 ")

print("网线2米        1     5.00  5.00 ")

print(".................................")

print("总数:4          总额:103.00")

print("折后总额:103.00")

print("实收:103.00     找零:0.00")

print("收银:管理员")

例4、输入一个整数,显示这个数的3倍。

 



六、表达式与运算符****

l 表达式

1.表达式的组成

表达式由操作数、运算符和圆括号按一定规则组成,操作数即为变量或者常量。

2.表达式的书写规则

(1)乘号不可以省略。如:z=xy(表示x乘以y,并赋值给z),应写为:z=x*y。

(2)括号必须成对出现,并且只能使用圆括号。圆括号可以嵌套使用。

l 运算符

1.赋值运算符****

赋值运算符主要是为变量赋值(从右往左写代码),但赋值运算符可以与算术结合,形成复合赋值运算符。

运算符描述实例
=赋值运算符z = x + y将x加y的运算结果赋值给z
+=加法赋值运算符z += x 等价于 z = z + x
-=减法赋值运算符z-= x 等价于 z = z- x
*=乘法赋值运算符z *= x 等价于 z = z * x
/=除法赋值运算符z /= x 等价于 z = z / x
%=取模赋值运算符z %= x 等价于 z = z % x
**=幂赋值运算符z **= x 等价于 z = z ** x
//=取整除赋值运算符z //= x 等价于 z = z // x

 

2.算术运算符

算术运算符主要用于完成基本的算术运算,包括加、减、乘、除、取模运算、幂运算、整除运算。

混合类型自动升级:1+2.14。结果是数值型。

假设变量x的值为2,变量y的值为1。

运算符描述实例
+加法运算,返回两个操作数相加结果x + y 返回 3
-减法运算,返回操作数的负数或是两个操作数相减结果x - y 返回 1
*乘法运算,返回两个操作数相乘结果或返回一个被重复若干次的字符串x * y 返回 2
/除法运算,返回两个操作数相除结果x/ y返回 2.0
%取模运算,返回除法的余数x % y 返回 0
**幂运算,返回x的y次幂x**y 返回2
//取整除运算,返回商的整数部分(向下取整)y // x 返回 0

//:地板除

 

3.比较运算符****

比较运算符主要用于同种类型的数据必将大小,结果是布尔型。

假设变量x的值为2,变量y的值为1。

注意==  和  =的区别: ==是判断  =是赋值

运算符描述实例
==等于,比较两个操作数是否相等(x == y) 返回 False
!=不等于,比较两个操作数是否不相等(x != y) 返回 True
大于,返回x是否大于y(x > y) 返回 True
<小于,返回x是否小于y(x < y) 返回 False
>=大于等于,返回x是否大于等于y(x >= y) 返回 True
<=小于等于,返回x是否小于等于y(x <= y) 返回 False

 

print(3>2>1)  3>2 and  2>1

 

4.逻辑运算符

逻辑运算符主要用于逻辑运算,Python语言支持与、或、非三种逻辑运算符。结果是布尔型。

运算符描述实例
and逻辑与运算x and y,如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。
or逻辑或运算x or y,如果 x 是非 0对象,它返回 x 的值,否则它返回 y 的计算值。
not逻辑非运算not x,如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

and:假俱假

or:真俱真

短路运算:只要能提前确定计算结果,就不会往后算了,直接返回结果。例如 or左边为真,就不用看右边了。and 看到假,就不用再看后面的了!

print( 0 and 2>3)  0

print( 0 or 2>3) False

1 and 3 or 5  3

 

5.位运算符

按位运算是基于数据的二进制进行的。如:变量x的值20,y的值为15,那么变量x在内存中存放的二进制格式为00010100,变量y为的二进制各位为00001111 。

运算符描述实例
&按位与运算符:操作数相应位都为1,则该位的结果为1,否则为0。(x & y) 输出结果 4 ,其二进制为00000100
按位或运算符:操作数相应位只要一侧为1,则该位的结果为1,否则为0。(xy) 输出结果 63 ,其二进制为: 00011111
按位异或运算符:操作数相应位相异时,结果为1,否则为0。(x ^ y) 输出结果 27 ,其二进制为: 00011011
~按位取反运算符:对操作数的每个二进制位取反,即把1变为0,把0变为1 。(~x ) 输出结果21,其二进制为: 00010101
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。x << 2 输出结果 80 ,其二进制为: 01010000
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,高位补0,>> 右边的数字指定了移动的位数x >> 2 输出结果 5 ,其二进制为: 00000101

 

 

6.成员运算符

成员运算符in和not in用于测试给定数据是否存在于序列(如列表、字符串)中,关于它们的介绍如下:结果是布尔型

p in:如果指定元素在序列中返回True,否则返回False。

p not in:如果指定元素不在序列中返回True,否则返回False。

a=20

print( a in [20,30,40])

 

经典案例

例1:

image.png

 

 

 

#T(K)=t(℃)+273.15

celsius = float(input("请输入摄氏温度:"))

kelvin = celsius + 273.15

print(celsius,"℃对应的开尔文为:",kelvin)

 

例2:

image.png  

 

height = float(input('请输入您的身高(m):'))

weight = float(input('请输入您的体重(kg):'))

BMI = weight / (height ** 2)

print('您的BMI值为:',BMI)

 

总结:重点函数  (记住各种类型的英文名称就好记住了)

input()

print()

int() :转换为整型

float():转换为浮点型

str():转换为字符串

type()

 

补充:python中的None

一:None

None是python中的一个特殊的常量,表示一个空的对象。

数据为空并不代表是空对象,例如空列表:[],等都不是None。

None有自己的数据类型NontType,你可以将None赋值给任意对象,但是不能创建一个NoneType对象。

二:False

Python中数据为空的对象以及None对象在条件语句都作False看待:即 None,False,0,[],"",{},()都相当于False。

 

数据类型的关系:

1、三种数据类型存在一种逐渐“扩展”的关系:

整数->浮点数->复数(整数是浮点数特例,浮点数是复数特例);

不同数字类型之间可以进行混合运算,运算后生成结果为最宽类型;

eg:124+5.7=129.7(整数+浮点数=浮点数)

2、三种类型可以相互转换:

转换函数:int()、float()、complex()

int(4.56) #直接去掉小数部分

4

float(89) #增加小数部分

89.0

complex(64)

(64+0j)

注意:python不支持直接将复数类型转换成整数或者浮点数。

 

int(3.5+9j)

Traceback (most recent call last):

  File "<pyshell#15>", line 1, in

    int(3.5+9j)

TypeError: can't convert complex to int

float(3.5+9j)

Traceback (most recent call last):

  File "<pyshell#16>", line 1, in

    float(3.5+9j)

TypeError: can't convert complex to float

如果需要将复数转换成整数或者浮点数的话,可以用前文提到过的real、imag函数将它的实数部分、虚数部分转化为对应类型。

x=3.5+9j

x.real

3.5

x.imag

9.0

注:在三种数据类型中,整数类型和浮点数类型是最为常用的!!!