python第一周总结
一、注释的使用
注释用于辅助自己或者其他开发者快速读懂自己的代码,注释里面的东西程序不会执行,给人看的。
单行注释
使用 #开头,#键后面的内容为注释
例如:
print('hello word!')#输出hello Word!
多行注释
使用 ’ ’ ’ 开头,以 ’ ’ ’ 结束,注释内容写在’’’ ‘’'里面。
例如:
'''
这是一个多行注释
可以写很多行,
程序读不懂我,
我是给开发者看的。
'''
print('我是正常代码,上面的是注释!’)
二、变量、标识符和数据类型
变 量
-
变量是可变的,重复使用的。
-
变量可以存放任何数据,使用**type(变量名)**方法查看一个变量所存储数据的类型
例如:
x = '111'
y = 111
z = True
print(type(x)) #输出 Str
print(type(y)) #输出 int
peint(type(z)) #输出 bool
数据类型
1、变量是用来存放数据类型的,但不是数据类型。
2、字符串不能和数字相加,否则会报错
3、字符串是写在 单引号或者双引号里面的
4、bool类型只有True和False两个类型
-
数据类型转换
-
**int():**将其他可以类型的数据装换为数字型:int(‘123’),还可以装换为进制型:int(‘a45’,16)。
-
**str():**将其他类型数据装换为字符串形式。
-
**bool():**将其他类型数据装换为bool类型。
其他类型转换为bool时注意
1、数字里面只有0表示False,其他都表示True;
2、只有空字符串(‘ ’)表示False,其他都表示True;
3、空的 列表([ ])、元组(( ))、字典( { } )、集合( x=set() ),都表示False,只要有内容就是True。
-
**float():**将其他类型数据装换为浮点型。
-
标识符命名规则
标识符包括,变量名、类名、函数名等
1、标识符由字母、下划线、数字组成,但是不能由数字开头。
2、标识符要区分大小写,A和a是两个不同的标识符
3、命名是不能和系统的关键字或者保留字冲突。
1、命名要做到顾名思义
即要做到,别人看见能知道表达的什么意思
2、遵守命名规范
- **大驼峰命名法:**每一个单词的首字母都要使用大写。比如:UserName、Password、StudentClass等
- **小驼峰命名法:**第一个单词小写开头,后面其余的单词都以大写开头例如:userName、studentClass等
- **下划线命名法:**单词全部小写,但是每个单词之间使用下划线连接。例如:user_name,student_height、student_age等
在Python里面主要使用,大驼峰命名和下划线命名,除了类名使用大驼峰之外,其余的标识符全部使用下划线命名法。
三、输入输出语句
输入输出语句是Python里面的基础,时刻都 要用到语句。
输入语句
数据语句的格式为:input(‘提示用户需要输入的内容’)
- 用户通过输入语句输入的内容,不管是数字还是字符串,代码的到的内容全部都是字符串,想要处理这些数据,必须进行数据格式装换。
- 一个input每次只能接受一次数据,想要接受多个数据,必须使用多个input,后期可以使用循环来实现。
输出语句
用于将计算结果,等用户想要的内容输出到控制台、屏幕、文件等,语法格式如下
print(values1,value2,…,sep=’ ‘,end=’\n’,file=’’)
- **value:**表示输出的值,可以为多个,可以是任何类型,每个不同的值可以用逗号隔开。
- **sep:**表示输出的多个值之间的隔断方式,默认是一个空格,可以自行修改sep的值,sep=‘ ’。‘’里面可以填写自己想要填写的字母、数字、符号等
- **end:**表示所有内容输出完成之后,最后以什么东西结尾,默认是一个回车结尾,同样也可以修改里面的值来改变结尾的符号。
- **file:**输出方式,默认输出到控制台,屏幕,也可以更改里面的内容输出到文件,比如输出到x.txt 文件,代码如下:
f = open('x.txt','w') #打开文件,w表示对文件获取写的权限,f为打开文件的标识符,访问f即访问了x.txt
print('hello word!',file=f) #输出到文件,更改file的值
f.close() #关闭文件
输出还有格式化输出等其他输出方式,后面慢慢了解
四、运算符
运算符分为算数运算符、赋值运算符、逻辑运算符、比较运算符。
算数运算符
算数运算符有 加(+)、减(-)、乘(*)、除(/)、乘方(**)、整除(//)、取余(%)
- 其中 加(+)、减(-)、乘(*)、除(/)和数学里面一样,只需要按照相应运算格式运算即可;
- 乘方:例如 x**2就表示x 的二次方其余往后推导即可。
- 整除(//):表示向下取整,相当于除法,但是只要结果的整数部分。即5//2=2。
- 取余(%):取余,相当于乘法,只要结果的余数即 5%2=1。
赋值运算符
Python里面 等号(=),表示赋值运算。和数学里面的等号不一样,数学里面的等号用(==)表示。
=,表示将等式右边的数据或者变量赋值给等式左边。注意,等式左边一定要是变量等标识符,不能是常量或者表达式。
赋值运算符可以和算数运算合并起来用:
x += 2 #表示x=x+2
x *= 2 #表示x=x*2
x %= 2 #表示x=x%2
x **= 2 #表示x=x**1,后面的类似
比较运算符
大于(>)、<(小于)、<=(大于等于)、>=(小于等于)、!=(不等于)、==(数学里面的等号)
比较得出的结果为布尔值 True 或 False。字符串比较需要注意根据每一个字符的编码值逐一比较大小。先比较第一个字符的大小,第一个字符相等再比较第二个字符大小,直到比较出大小
逻辑运算符
逻辑运算符分为 逻辑与(and)、逻辑或(or)、逻辑非(not)
1、逻辑与(and):
- a and b,所有条件为真,结果才为真,只要有一个是假,结果就为假。1 and 0,结果为 False。 True and True,结果为 True。
- 多个条件时,只要有一个条件为假,停止后面的运算。结果为False。例如:1 and 2 and ‘ ’ and 0 and 3,结果为False。
- 做取值运算时,所有条件为真,则取最后一个值。例如:1 and 2 and 3 and ‘abc’,结果为 ‘abc’。
2、逻辑或(or)
- 任意一个条件为真,结果为真,True or False,结果为 True;只有所有条件为假,结果才为假,False or False or False,结果为 False。
- 多个条件时,只要有一个条件为真,停止后面的运算,取第一个值。例如 8 or 2 or 0 or [],结果为8。
- 多个条件时,所有条件都为假时,取最后一个为假的条件。例如:0 or ‘ ’ or ( ) or [],结果为 [ ]。
3、逻辑非(not)
- 将运算的结果取反,例如:not True 结果为 False ,not (3>2) 结果为False。
五、分支语句和循环
分支语句if
-
if语句是用来判断的语句,有 if语句、if…else语句、if…elif…else、
-
if 后面的判断条件结果为bool值,如果不是bool值,会自动装换为bool。
格式为:
'''
if 判断条件:
条件为真,运行的代码块,这里要缩进,没有代码可以用pass代替。
else:
条件为假,运行的代码块,这里要缩进,没有代码可以用pass代替。
'''
'''
if 判断条件1:
条件1为真,运行的代码块,这里要缩进,没有代码可以用pass代替。
elif 判断条件2:
条件1为假,条件2为真时,运行的代码块,这里要缩进,没有代码可以用pass代替。
else:
条件2为假时,运行的代码块,这里要缩进,没有代码可以用pass代替。
'''
if 3>4:
print('条件为真')
else:
print('条件为假')
if 60>x>=0:
print('及格')
elif 100>=x>=60:
print('及格')
else:
print('请输入0-100的正确分数')
while和for循环
- while 条件语句:
- for i in x 这里的x 必须是一个迭代对象。
- range函数,格式range(start,end,se),分别表示起始数据,结束数据的前一个数据,步长。
#range的使用
range(1,20,2)#生成一个以从1-20之间每隔一个数取一个序列,20不包含在内。
#生成的序列为 1,3,5,7,9,11,13,15,17,18
#while的使用
x = 0
while x<10:
print(x)#这里会依次输出 0,1,2,3,4,5,6,7,8,9
x += 1
#for的使用
for x in range(1,10):
print(x)#这里依次输出0,1,2,3,4,5,6,7,8,9
for里面可以包含多个for和while,while里面也可以包含多个while和for。
if里面可以包含多个if。
总之,if for while都可以互相嵌套。
break和continue
- break和continue都只能用在循环里面 ;
- break表示结束循环,不在循环;
- continue表示退出本轮循环,开始下一次循环。
六、字符串相关
字符串表示
- 字符串使用一对单引号(‘ ’)或者一对双引号(“ ”)或者一对三个单引号(‘’‘ ’‘’)或者一对三个双引号(“”“ “”")表示,引号里面的数据就是字符串。
- 转义字符:用 \ 来表示转义字符,\ 后面的数据有特殊含义如下:
# \n 表示换行、回车;
# \t 表示tab,制表符
# \\ 表示 反斜杠 \
# \' 表示一个单引号
# \'' 表示一个双引号
#类似上面的很多都可以用转义字符表示
字符串切片
-
字符串有下标,每一个字符都有对应的下标,按照从左到右顺序从0,1,2,3开始,按照从右往左的顺序从 -1开始 -1,-2,-3,-4。
-
字符串切片就是通过特定的方法从字符串中取出特定的序列。表示方法为
[起始下标,结束下标,步长],步长可以省略,默认为1。
注意:这里截取到的数据,不包括结束下标的那个数,其实就是左边是闭区间,右边是开区间。
例如:
s = 'abcdefghijk'
print(s) #打印出 abcdefghijk
print(s[4]) # 打印出下标为4的字符 e
print(s[4:8]) # 打印出下标为4-7的序列 e f g h
print(s[:]) # 取出所有元素(没有起始位和结束位之分),默认步长为1
print(s[1:]) # 从下标为1开始,取出后面所有的元素 bcdefghijk
print(s[:4]) # 从起始位置开始,取到 下标为4的前一个元素 abcd
print(s[1:5:2])# 从下标为1开始,取到下标为5的前一个元素,步长为2 b d
字符串常用操作
字符串的常见操作包括:
- 获取长度(len)
len(str)#获取字符串的长度
len('hello')#长度为5
- 查找内容(find,index,rfind,rindex)
#find index rfind rindex
#查找相应字符串
str.find(x,start,end)
#返回第一次出现的下标,start和end表示查找的起始位置,可以省略,如果找不到则会返回-1。
str.rfind(x,start,end)
#和find一模一样,只是find是从左往右找,rfind是从右开始
str.index(x,start,end)
#返回第一次出现的下标,start和end表示查找的起始位置,可以省略,如果找不到则会报错。
str.rindex(x,start,end)
#从右往左找
- 判断(startswith,endswith,isalpha,isdigit,isalnum,isspace)
startswith(x,start,end)
#返回True或False
#判断是否以x开头,start和end表示查找的起始位置,可以省略。
endswith(x,start,end)
#返回True或False
#判断是否以x结尾,start和end表示查找的起始位置,可以省略。
isalpha()
#返回True或False
#判断一个字符串是否是纯字母,非a-z或A-Z。中间有空格.等任何非字母都不行
isdigit()
#返回True或False
#判断一个字符串是否是纯数字。非0-9.中间有空格.等任何非数字都不行。
isalnum()
#返回True或False
#判断一个字符串是否是纯数字或者字母组成。非0-9,a-z,A-Z。中间有空格.等任何非数字都不行。
isspace()
#返回True或False
#判断一个字符串是否是纯空格组成。
- 计算出现次数(count)
str.count(x,start,end)
#判断x在字符串str里面start,end区间出现的次数。
- 替换内容(replace)
str.replace(x1,x2,count)
#将str里面的x1替换为x2,共替换count次,如果不指定count,则全部替换。
- 切割字符串(split,rsplit,partition,rpartition)
str.split('分割标识符',分割次数)#将字符串按照分割符分割为列表,分割次数可以省略
rsplit #从右往左分割
str.partition(x)#将字符串,以x分割为三部分
'abc.txt'.rpartition('.')#结果为 'abc','.','txt'
rpartition #和partition一样,只是从右往左分割。
ython
str.count(x,start,end)
#判断x在字符串str里面start,end区间出现的次数。
- 替换内容(replace)
```python
str.replace(x1,x2,count)
#将str里面的x1替换为x2,共替换count次,如果不指定count,则全部替换。
- 切割字符串(split,rsplit,partition,rpartition)
str.split('分割标识符',分割次数)#将字符串按照分割符分割为列表,分割次数可以省略
rsplit #从右往左分割
str.partition(x)#将字符串,以x分割为三部分
'abc.txt'.rpartition('.')#结果为 'abc','.','txt'
rpartition #和partition一样,只是从右往左分割。