python开发基础
实验环境
这里使用windows下的 python3.5版本的,为例,如果你是2版本,在语法上,会有较大的区别
关于在windows中安装及基本使用python3.5,可以参考我下面这篇博客
https://blog.csdn.net/weixin_45308292/article/details/103398011
1)注释
1.单行注释,使用#号,#号右边为注释
按 “f5” 运行,测试,第一次会让选择保存位置,注释部分没有被输出
1
>>>
2.多行注释 使用 ''' '''
包裹,可以在代码内部注释说明
运行测试
11
>>>
但是使用''' '''
,通过打印命令,也可以实现多行换行执行代码
代码如下
print('''
aaa
bbb
ccc
''')
执行结果如下
aaa
bbb
ccc
>>>
2)变量及数据类型
变量:用来临时存储数据的容器,以方便其他地方的代码使用数据时直接使用变量
python是弱类型动态语言,无需定义变量数据类型
1.先赋值后使用
2.符合标识符命名规范
3.变量可以直接进行运算
python中的数据类型
type(),可以判断变量的类型,()中是变量名
1.int(整型)
类似"-1"
, "2"
, "1000"
没有 小数点的整数都叫整数
>>> a=1
>>> type(a)<class 'int'>
python中没有,分数的概念,负整数也算整数型中的
2.float(浮点型,小数点)
类似 "-1.2
", "1.3"
,不是整数的数都是浮点型
>>> b=-1.2
>>> type(b)<class 'float'>
3.bool(布尔型)
像下面返回这种就是布尔型
>>> 1>2False
>>> 1<2True
True对应1,False对应0
>>> True + 12
>>> False + 11
>>> b=True
>>> c=False
>>> type(b)<class 'bool'>
>>> type( c )<class 'bool'>
4.str(字符串string)
例如,"im is ajbn"
, "10 is 10.1"
这种带有字符,数字或小数等长字符或纯字符等叫字符串,内容必须 使用 ' '
或 " "
包裹,表示是字符串
>>> d="nihao is 10 is 10.1"
>>> type(d)<class 'str'>
上面4个是初学阶段比较常用的,
下面这5个是比较难的,这里不多解释,后面用到了再解释
5.None---空值
6.list(列表)---[1,2,3,4]
7.tuple(元组)---(1,2,3)---不可变类型
8.dict(字典)---{'name':'Uzi','age':21}
9.set(集合)---{1,2,3,4}---元素无序不重复
关于不可变类型的意思是,当重新给原来的变量赋新的值时,实际在内存中的变量已经不是原来的了
而可变类型是赋了新的值,内存中的变量还是原来的
不可变类型:1.int,2.float,3.string,4.tuple
可变类型:1.list,2.dict,3.set
3)标识符和关键字
标识符—自己定义的名字,命名变量名、函数名、类名等
1.标识符命名规则
有数字、字母、下划线组成,数字不能开头---shell类似
没有长度限制
区分大小写
2.命名习惯
1.望文生义如学生类Student,列表list1,user用户,名字name
2.小驼峰命名法—第一个单词后的所有单词首字母大写1.函数名:startLoad
2.变量名:passwordList
3.大驼峰命名法—所有单词首字母全大写1.类名:RouteId
4.全小写
5.全大写
6.下换线_pass_id='Faker'
3.不要使用关键字命名
>>> import keyword
>>> keyword.kwlist
红线部分就是关键字,不要使用这些关键字命名
4)输入语句input(提示信息)
提供一个用户交互式给变量赋值
代码如下
aaa=input('请输入你的数字')
print (aaa)
运行测试
请输入你的数字
1 ( 输入数字1回车)1
(打印了数字1)
>>>
在python3中(也就是这个),input(提示信息) 会将用户输入的数据转化成字符串
就是不管用户输入的是整数型,浮点型等,都会自动转换为,字符串
这个问题,我后面会详细说,这里不阐述
python2中:
input()—获取数据皆为字符串
raw_input()—获取数据根据用户数据而定
5)输出语句
1.print(): 打印语句
python3中表示函数,python2中语法 print ' ' 只是打印语句
python3中格式如下print():
可以打印数字,字符串,列表等数据,运算式,
打印多个不同数据类型,用逗号隔开,也可以使用end参数,默认以 ’\n' 换行
例如,代码如下,' '
中可以添加别的,就会以什么分隔,我这里是中间是空格
aaa=123
print (aaa,end=' ')
print (aaa,end=' ')
运行,如下123 123
>>>
如果不加"end",注意要把逗号要删掉aaa=123
print (aaa)
print (aaa)
运行,会自动换行,而不是在一行了123
123
>>>
2.格式化输出
python中引用变量,同shell有很大不同
运行如下
my name is name my years old is 10
>>>
但是如果,把变量age的值换成小数,就会发现打印的还是10,
要将代码更改为如下,将%d更改为%f表示age这个变量是浮点型
ge= 10.5
ame = "name"
rint ('my name is %s my years old is %f'%(name,age))
运行如下my name is name my years old is 10.500000
>>>
(当然这里出现很多小数点,需要用别的方式去除,但是这个不是重点,做出这样就行)
6)运算符
1.算数运算符
1) "+" ,"-","*","/"
依次意思为“加”,“减”,“乘” “除" 的意思
>>> a=20
>>> b=10
>>> a - b10
>>> a + b30
>>> a * b200
>>> a / b2.0
2) //—地板除 (不会显示余数,只显示可以整除的 数)
>>> 100 // 601
>>> 200 // 802
3)%—模运算(只会显示余数,和 // 正好相反)
>>> 100 % 7030
>>> 200 % 8040
4)—幂运算(平方),如下求 2的 3次方,2的2次方
>>> 2 ** 38
>>> 2 ** 24
2.赋值运算符=
(可以一次定义多个变量和值,要顺序对应,后赋的值会把原来的值覆盖,如下面的"a" )
>>> a = 10
>>> a,b=1,2
>>> print (a)1
>>> print (b)2
3.比较运算符
"<"
是小于的意思,">"
是大于的意思,
>>> 2 > 1True
>>> 1 < 2True
"<="
是小于等于的意思,">="
是大于等于的意思,
(这两个在后面写脚本的时候,用到比较多,这里先知道就可以)
==
是比较是否相等,!=
比较是否不相等,这里也是知道就可以
4.逻辑运算符
1)not 非 优先级最高这个前期用的不大,知道就可以
2) and 和 与 两侧为真才为真—>返回布尔值
例如,下面第一个就不行,第二个可以
>>> 2>1 and 1>2False
>>> 2 >1 and 2>0True
3)or 或 两侧有一侧为真即为真—>返回布尔值
>>> 2>1 or 0>1True
>>> 1>2 or 1>0True
5.成员运算符
这里的a,d和abc就是字符串而不是变量名
1)in 在…里面,
如下判断 ‘a’ 是否在 ‘abc’ 中,在输出真
>>>'a'
in 'abc'
True
2)not in 不在…里面,
判断’d’是否不在 'abc’中, 不在的话输出真
>>> 'd'
not in 'abc'
True
7)数据类型转换
不同类型的数据类型是无法,进行计算或者比较的,例如如下图
必须要进行类型的转换,才可以
1.其他类型转换整数型
int()
1)如下,把字符串类型转换为整数形,可以进行相加
>>> a=int('1')
>>> type (a)<class 'int'>
>>> b=2
>>> a + b3
注意这里,字符串转整数型字符串不可以是小数,必须是整数的,不然无法转换
>>> a=int('1.2')
Traceback (most recent call last):
(这是报错)
2)浮点型转换为整数型,会省略后面的小数,如下1.2原来是浮点型,变为了1整数型
>>> a=int(1.2)
>>> print (a)1
>>> type (a)<class 'int'>
3)布尔型转整数型
>>> g=int(True)
>>> print (g)1
>>> type (g)<class 'int'>
2.其他类型转换为浮点型
float()
1)字符串转浮点型,只能转换数字字符串,可以有小数点
>>> a=float('1.2')
>>> type (a)<class 'float'>
>>> print (a)1.2
2)整数型转浮点型
>>> b=float(9)
>>> type(b)<class 'float'>
>>> print (b)9.0
3)布尔型转浮点型
>>> q=float(True)
>>> type(q)<class 'float'>
>>> print (q)1.0
3.其他类型转字符串
1)布尔型转字符串
>>> b=str(True)
>>> type(b)<class 'str'>
2)浮点型转字符串
>>> v=str(1.1)
>>> type(v)<class 'str'>
>>> print (v)1.1
3) 整数型转字符串
>>> n=str(11)
>>> type(n)<class 'str'>
>>> print (n)11
这里说一下,上面的 “input” 交互的问题,
这是代码
age=input('输入你的数字')
print (type(age))
运行测试如下,发现这是字符串类型的,如果要相加或别的操作,还要单独去转换,非常不方便
输入你的数字
1<class 'str'>
可以更改代码,为如下,直接把交互赋的值,转换为整数型age=int(input('输入你的数字'))
print (type(age))
运行测试,类型已经改变了输入你的数字
1<class 'int'>