我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章
一、标识符
标识符主要区分不同变量、方法、类以及其他对象的名字,Python标识符的命名需要遵守一定的命名规则,主要包括:
(1)Python标识符由大小写字母、下划线和数字组成,且第一个字符不能是数字。
(2)Python标识符不能和Python中的关键字相同。
(3)Python标识符不能包含空格、@、%以及$等特殊字符。
(4)在Python中,标识符中的字母是严格区分大小写的。
(5)Python语言具有面向对象的特征,下划线开头的标识符有特殊含义。
命名的建议:
(1)见名知意:name student等
(2)命名规范:函数名、模块名使用小写的单个单词或由下划线链接的多个单词,类名使用大写字母开头的单个或多个单词
二、关键字(35个)
| False | None | True | and | as | assert |
|---|---|---|---|---|---|
| break | class | continue | def | del | elif |
| else | except | finally | for | from | global |
| if | import | in | is | lambda | nonlocal |
| or | not | pass | return | try | raise |
| while | with | yield |
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)
内置的数据类型都可以转换为一个布尔类型的值。
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…
六、输入输出函数
(一)输入函数
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、打印名片:
例3、打印购物小票:
打印购物小票
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。 | (x | y) 输出结果 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:
#T(K)=t(℃)+273.15
celsius = float(input("请输入摄氏温度:"))
kelvin = celsius + 273.15
print(celsius,"℃对应的开尔文为:",kelvin)
例2:
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
注:在三种数据类型中,整数类型和浮点数类型是最为常用的!!!