Python概述及基本语法(第一章)

注:全文有>>>均是用Python自带的IDLE写的, 没有带>>>则是用pycharm写的

Python概述

简介:

python(Monty Python's Flying Circus)

python之父(Guido van Rossum)

python是一门跨平台,开源,免费的解释型高级动态编程语言(通用的编程语言),可以把不同语言编写的程序融合到一起

实现无缝拼接(也称为胶水语言),支持命令式编程和函数式编程两种

Python的安装:

1.安装Python 自带的IDLE (https://www.python.org)(交互式开发界面)

2. 安装开发环境:Anaconda3,PyCharm,Eclipse,zwPython

这里则介绍Pycharm的安装方法:

1.下载新版破解补丁

下载破解补丁JetbrainsCrack-release-enc.jar放在安装pycharmr的bin目录下面(可以在网上查找)

2.修改配置文件

在PyCharm安装目录下的\bin目录中找到pycharm.exe.vmoptionspycharm64.exe.vmoptions,以文本格式打开并同时在两个文件最后追加一行内容:-javaagent:你的安装路径\bin\JetbrainsCrack-release-enc.jar,然后保存。

3.输入激活码

启动PyCharm,选择激活码激活,直接复制下面的内容到激活框内(如果你原来已使用激活码已经激活,先下载补丁,然后点击:Help->Register->Activation code然后复制下面的内容到输入框)然后就可以ok啦

下面是破解补丁激活方式的激活码:

ThisCrackLicenseId-{
“licenseId”:”11011”,
“licenseeName”:”Wechat”,
“assigneeName”:”IT--Pig”,
“assigneeEmail”:”[email protected]”,
“licenseRestriction”:””,
“checkConcurrentUse”:false,
“products”:[
{“code”:”II”,”paidUpTo”:”2099-12-31”},
{“code”:”DM”,”paidUpTo”:”2099-12-31”},
{“code”:”AC”,”paidUpTo”:”2099-12-31”},
{“code”:”RS0”,”paidUpTo”:”2099-12-31”},
{“code”:”WS”,”paidUpTo”:”2099-12-31”},
{“code”:”DPN”,”paidUpTo”:”2099-12-31”},
{“code”:”RC”,”paidUpTo”:”2099-12-31”},
{“code”:”PS”,”paidUpTo”:”2099-12-31”},
{“code”:”DC”,”paidUpTo”:”2099-12-31”},
{“code”:”RM”,”paidUpTo”:”2099-12-31”},
{“code”:”CL”,”paidUpTo”:”2099-12-31”},
{“code”:”PC”,”paidUpTo”:”2099-12-31”}
],
“hash”:”2911276/0”,
“gracePeriodDays”:7,
“autoProlongated”:false}

 

Python的编程规范:

1. 严格使用缩进来体现代码的逻辑从属关系(也就是强制性的),不能多,也不能少(通常使用4个空格符为一个缩进单位,增加了可读性)。

2.一个import语句只能导入一个模块(模块:即库

3.不写过长语句,可以使用\来续行(或者使用:圆括号把多行代码括起来,表示一条语句)

4.注释:# 表示单行注释

                     '''      ''' 表示多行注释

5. 一行一个语句,每一行的语句是可以不写;的。

>>> import math as m
>>> m.gcd(8,16)
8
>>> x=10
>>> x
10
>>> x=20;y=30
>>> x
20
>>> y
30
>>> 

import  模块名 as 别名

别名可写可不写,方便使用

from 模块名 import 对象名 as 别名

导入明确指定的对象(提高访问速度,推荐使用)


内置对象,运算符,表达式,关键字

内置对象

Python 中的一切都是对象,包括:整数,实数,复数,字符串(str),字节串(bytes),列表(list),元组(tuple),字典(dict),集合(set)等(这些将会在本文中进行初步介绍,具体使用将会在后里文章里介绍)

常量,变量

常量:不能改变的字面值

变量:可以变化的量(python,量可以改变,类型也可以改变,并且不需要声明变量名及其类型,赋值语句即可以创建任意类型的变量)

>>> x=10;
>>> x='a'
>>> x="abc"
>>> x
'abc'
>>> 

注:python不必担心数值大小的问题(支持任意大的数字,但是由于精度问题,实数运算存在误差,避免实数之间相等的测试)

解决:应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据

>>> 0.4-0.1
0.30000000000000004
>>> 0.4-0.1==0.3
False
>>> #解决方法:
>>> abs(0.4-0.1-0.3)<1e-6
True
>>> 

为了提高可读性,数字中间插入下划线,(注:下划线可以出现在任意位置,但不能出现在开头和结尾,不能用多个连续的)

例:

>>> 1_000_000

1000000

>>>1_2_3_4

1234

>>>

字符串表示:

单引号 :’  ’         双引号:”  ”         三单号:’’’  ‘’’               三双引号”””   “””

作为定界符来表示字符串,也就是不同定界符相互嵌套

 

列表

>>>x_list=[1,2,3]    #创建列表对象

>>>print(x_list[1])

2

>>>

注:用 [   ] 来表示列表对象中的元素,这里相当于java中的有序集合,同List,使用下标访问指定位置上的元素

 

元组

>>>x_tuple=(1,2,3 )   #创建元组对象

>>>print(x_tuple[2])

3

>>>

注:用()来表示元组中的元素,元组对象是固定不变的,相当于定义的常量对象

 

字典

>>>x_dict={‘a’:97,’b’:98,’c’:99}   #创建字典对象

>>>print(x_dict[‘a’])

97

>>>

注:用 { } 来表示字典中的元素,字典对象是以“键:值”存在的,这里相当于java中的Map,无序集体,只不过是以字母的大小排序的,而使用键作为下标,来访问元素

 

集合

>>>x_set={1,2,3}   #创建集合对象

注:这里的集合与java中的集合是完全不一样的,相同于数学中的集合,集合中的元素是不能重复,且不能使用下标来访问元素

 

Python中的优先级

算术运算符> 位运算符> 成员测试运算符> 关系运算符> 逻辑运算符

 

+连接运算符

1. 连接两个列表

>>>[1,2,3]+[4,5,6]

[1,2,3,4,5,6]

>>>

2. 连接两个元组

>>>(1,2,3)+(4,)

(1,2,3,4)

>>>

3. 连接两个字符串

>>>’abc123’+’fda456dfa’

‘abc123fda456dfa’

>>>

注:连接运算符不支持字符与数字相加,

 

*序列元素的重复,生成新的新的序列对象

>>>[1,2,3]*3

[1,2,3,1,2,3,1,2,3]

>>>(1,2,3)*3

(1,2,3,1,2,3,1,2,3)

>>>’abc’*3

‘abcabcabc’

>>>

 

**表示幂运算

>>>3**2     #3的2次方 等价于pow(3,2)

9

>>>3**2**3    #幂运算从右往左计算

6561

 

/和//

>>>3/2    #数学意义上的除法

1.5

>>>15//4   #两个操作数为整数,结果为整数,只要有一个操作数为实数,结果为实数

3

>>>-15//4   #向下取整

-4

>>>

 

关系运算符的连用

>>>1<3<5     #等价于1<3 and 3<5

True

>>>

 

In 成员测试运算符(也就是判断该成员是不是属于该对象里的)

>>>3 in [1,2,3]

True

>>>

In可以用来循环,成员遍历

>>>for i in (3,5,4):

         print(i,end=’\t’)



3       5       7

注:连续两次enter,才能执行     

 

集合运算符:

&(用来求交集)

|(用来求并集)

^(用来求差集)

>>>{1,2,3}^{3,4,5}

{1,2,4,5}

>>>

- 差集

 

++和--

>>> i=3
>>> ++i    #这里的++就解释为两个正号的
3
>>> +(+i)   #这里的使用与java中的++i等价
3
>>> --i
3
>>> -(-i)
3
>>> 

注:python 中是不支持i++和i--的,在就是每一个+(+i),使用的是初始化的值,与java等高级语言不同

_ 下划线

python中下划线可以表示为上一次的正确输出结果

 

随机数生成:

>>> from random import randint as r
>>> a=r(1,10)
>>> a
5
>>> 

range()函数

三种用法:

range(stop)      #省略start默认为0,省略step默认为1,也就是步长为1

range(start,stop)

range(start,stop,step)

注:该函数有惰性求值特点(左闭右开区间)也就是start到stop的范围不包含stop

生成指定范围数字:

>>> aa=range(1,10,2)
>>> aa
range(1, 10, 2)
>>> 5 in aa
True
>>> 6 in aa
False
>>> 

两者结合使用及嵌套:

>>> from random import randint
>>> a=[randint(1,100) for i in range(10)]
>>> print(a)
[45, 74, 63, 70, 3, 51, 37, 61, 16, 96]
>>> #这里的意思是生成10个1~100的范围内的数
>>> a=[[randint(1,100) for i in range(10)] for j in range(5)]
>>> print(a)
[[81, 54, 37, 97, 68, 21, 20, 69, 34, 72], [85, 59, 76, 36, 49, 61, 12, 53, 53, 85], [91, 35, 60, 71, 29, 63, 42, 65, 87, 30], [59, 40, 43, 87, 55, 17, 58, 7, 67, 40], [81, 57, 73, 17, 41, 55, 97, 52, 65, 64]]
>>> #生成5个列表

注:range(1,10,2)是生成1~10之间不包含10且步长为2的数,也就是生成1,3,5,7,9

最大值,最小值

>>> print(max(a),min(a),sum(a))
96 3 516
>>> #并且求出最大值,最小值,和
>>> max('2','111')
'2'
>>> #比较字符串,从左边比较,给管长度
>>> max(['2','111'],key=len)
'111'
>>> #这里比较的是最长的字符串

分隔符:

>>>print(1,3,5,7)

1 3 5 7 9

>>>print(1,3,5,7,9,sep='\t')

1       3       5       7       9

sep=’\t’是设置修改默认分隔符

end=’ ’是表示不换行并且修改分隔符

发布了59 篇原创文章 · 获赞 3 · 访问量 4776

猜你喜欢

转载自blog.csdn.net/CDZAllier/article/details/100509405