代码编织梦想

python 学习笔记 (第一部分)

一、 print语句

1.可以输出数字

print(666)

2.可以输出字符串

print('right')
print("right")

3.含有运算符的表达式,且会计算表达式的结果

print(6 + 6)

*4.将数据输出文件中 1.注意所指定的盘符存在 2.使用file=fp,否则会读成a,数据会无法进入

fp = open('D:/text.txt', 'a+')  # “a+”表示若没有文件则新建文件,存在就在文件内容的后面继续输出
print('少 年 何 妨 梦 摘 星,敢 挽 桑 弓 射 玉 衡 !', f1ile=fp)
fp.close()

5.不进行换行输出(输出内容在一行当中)

print('Hello', 'My', 'Python')

6.语句换行

print("少 年 何 妨 梦 摘 星\
 敢 挽 桑 弓 射 玉 衡")

二、语句注释

"

""
print("少 年 何 妨 梦 摘 星\
 敢 挽 桑 弓 射 玉 衡")
"""
''''''print("少 年 何 妨 梦 摘 星\
 敢 挽 桑 弓 射 玉 衡")'''

三、 缩进(不可用TAB键,应使用空格键完成操作)

if True:
    print("如果为真,输出:")
    print("true")
else:
    print("否则,输出:")
    print("false")
    

四、数据类型

1.数字类型(number)

​ 整型(int)可以用二进制-

​ 浮点型(float)

​ 复数型(complex)

​ 布尔型(bool) 布尔型是一种比较特殊的整型,它只有True和False两种值,分别对应1和0,它主要用来比较 和判断,所得结果叫做布尔值。

2.字符串类型(String)

3.列表类型(List)

4.元组类型(Tuple)

5.字典类型(Dict)(Dictionary)

6.集合类型(Set)

7.检测数据类型Python中内置了检测数据类型的函数type()。它可以对不同类型的数据进行检测

d = 10
print(type(d))

8.除此之外,还可以使用函数isinstance()判断数据是否属于某个类型

print(isinstance(d, int))
print(isinstance(d, float))

9. python常见关键词

关键字描述
and逻辑运算符
as创建别名
assert用于调试
break跳出循环
class定义类
continue继续循环的下一个迭代
def定义函数
del删除对象
elif在条件语句中使用,等同于 else if
else用于条件语句
except处理异常,发生异常时如何执行
False布尔值,比较运算的结果
finally处理异常,无论是否存在异常,都将执行一段代码
for创建 for 循环
from导入模块的特定部分
global声明全局变量
if写一个条件语句
import导入模块
in检查列表、元组等集合中是否存在某个值
is测试两个变量是否相等
lambda创建匿名函数
None表示 null 值
nonlocal声明非局部变量
not逻辑运算符
or逻辑运算符
passnull 语句,一条什么都不做的语句
raise产生异常
return退出函数并返回值
True布尔值,比较运算的结果。
try编写 try…except 语句
while创建 while 循环
with用于简化异常处理
yield结束函数,返回生成器
seed()初始化随机数生成器
getstate()返回随机数生成器的当前内部状态
setstate()恢复随机数生成器的内部状态
getrandbits()返回表示随机位的数字
randrange()返回给定范围之间的随机数
randint()返回给定范围之间的随机数
choice()返回给定序列中的随机元素
choices()返回一个列表,其中包含给定序列中的随机选择
shuffle()接受一个序列,并以随机顺序返回此序列
sample()返回序列的给定样本
random()返回 0 与 1 之间的浮点数
uniform()返回两个给定参数之间的随机浮点数
triangular()返回两个给定参数之间的随机浮点数,您还可以设置模式参数以指定其他两个参数之间的中点
betavariate()基于 Beta 分布(用于统计学)返回 0 到 1 之间的随机浮点数
expovariate()基于指数分布(用于统计学),返回 0 到 1 之间的随机浮点数,如果参数为负,则返回 0 到 -1 之间的随机浮点数。
gammavariate()基于 Gamma 分布(用于统计学)返回 0 到 1 之间的随机浮点数
gauss()基于高斯分布(用于概率论)返回 0 到 1 之间的随机浮点数
lognormvariate()基于对数正态分布(用于概率论)返回 0 到 1 之间的随机浮点数
normalvariate()基于正态分布(用于概率论)返回 0 到 1 之间的随机浮点数
vonmisesvariate()基于 von Mises 分布(用于定向统计学)返回 0 到 1 之间的随机浮点数
paretovariate()基于 Pareto 分布(用于概率论)返回 0 到 1 之间的随机浮点数
weibullvariate()基于 Weibull 分布(用于统计学)返回 0 到 1 之间的随机浮点数。

五、运算符

1.常用运算符

运算符描述示例
+相加a + b
-相减a - b
*相乘a * b
/相除a / b
%取模a % b
**a**b 表示 a 的 b 次幂
//取整9 // 4 结果为 2
==是否相等a == b
!=是否不等于a != b
>是否大于a > b
>=是否大于等于a >= b
<=是否小于等于a <= b
=简单的赋值运算符a = b + c
+=加法赋值运算符a += b 等效于 a = a + b
-=减法赋值运算符a -= b 等效于 a = a - b
*=乘法赋值运算符a *= b 等效于 a = a * b
/=除法赋值运算符a /= b 等效于 a = a / b
%=取模赋值运算符a %= b 等效于 a = a % b
**=幂赋值运算符a** = b 等效于 a = a** b
//=取整除赋值运算符a //= b 等效于 a = a // b
&a & b
|a | b
^异或a ^ b
~取反~a
<<左移动a << 3
>>右移动a >> 3
and布尔类型与a and b
or布尔类型或a or b
not布尔类型非not a
is判断两个标识符是否引用同一个对象a is b
is not判断两个标识符是否引用不同对象a is not b

2. 运算符优先级

运算符描述(由上至下对应优先级由高到低)
**幂运算
~ + -取反、正号、负号
* / % //乘、除、取模、取整除
+ -加法、减法
>> <<右移、左移
&
^ |异或、或
<= < > >=比较运算符
== !=是否等于、是否不等于
= % = / = // = -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符

3、赋值运算符的使用

a, b = 5, 2
a += b
print(a, b)
a -= b
print(a, b)
a *= b
print(a, b)
a /= b
print(a, b)
a **= b
print(a, b)
a //= b
print(a, b)

4、比较运算符的使用

print(1 == 1)
print(1 == 2)
print(1 == True)
print(0 == False)
print(1.0 == True)
print(0.0 == False)
print((0.0 + 0.0j) == False)

5、逻辑运算符的使用

print(0 and 4)
print(False and 4)
print(1 and 4)
print(1 or 4)
print(True or 4)
print(0 or 4)
print((4 <= 5) and (4 >= 3))
print((4 >= 5) or (4 <= 3))
print(not 1)


6、位运算符的使用

a, b = 7, 8
print(bin(a))  # 二进制形式111
print(bin(b))  # 二进制形式1000
print(bin(a & b))
print(bin(a | b))
print(bin(a ^ b))
print(bin(~a))
print(bin(a << 2))
print(bin(a >> 2))

7、成员运算符的使用

A = [1, 2, 3, 4]  # 列表
print(1 in A)
print(0 in A)
print(1 not in A)
print(0 not in A)

8、身份运算符的使用

a: int
a = b = 10  # a,b都为10
print(a is b)
print(a is not b)
b = 20  # b修改为20
print(a is b)
print(a is not b)

9、小案例

从键盘输入一个3位整数,计算并输出其百位、十位和个位上的数字,程序运行时,从键盘输入356

x = int(input("请输入一个三位整数:"))
g = x // 1 % 10  # 个位数
s = x // 10 % 10  # 十位数
b = x // 100 % 10  # 百位数
print('百位:', b, '十位:', s, '个位:', g)

六.顺序结构

1.对象的布尔值

以下对象的布尔值为False
*Flase
*数值()
*None
*空字符串
*空列表
*空元组
*空字典
*空集合
其他对象的bool值均为True

print('-------------------------------------------')
print(bool(False))  # False
print(bool(0))  # False
print(bool(0.0))  # False
print(bool(None))  # False
print(bool(''))  # False
print(bool(""))  # False
print(bool([]))  # 空列表
print(bool(list()))  # 空列表
print(bool(tuple()))  # 空元组
print(bool({}))  # 空字典
print(bool(dict()))  # 空字典
print(bool(set()))  # 空集合
print('-----------以上对象的布尔值为False--------------')

七、条件语句

1.if语句

‘’’
if语句用于在程序中有条件地执行某些语句,格式如下:
if条件表达式:
语句块#当条件表达式为True时,执行语句块
‘’’

1.1 if 语句用法

score = 90
if score >= 60:
    print("优秀!")
print("您的分数%d" % score)

2.if-else语句

if-else语句用于根据条件表达式的值决定执行那块代码,其语法格式如下:
if条件表达式:
语句块 1 # 当条件表达式为True时,执行语句块1
else:
语句块 2 # 当条件表达式为False时,执行语句块2

2.1 if-else 语句用法

score = 80
if score >= 60:
    print("优秀")
else:
    print("加油!")
    print("您的分数为:%d" % score)

3.if-elif 语句

‘’’
在程序中多重判断可以通过 if-elif 语句实现,其语法格式如下 :
if 条件表达式1:
语句块 1 #当条件表达式1为True时,执行语句块1
elif 条件表达式2:
语句块 2 #当条件表达式2为True时,执行语句块2

elif 条件表达式n:
语句块 n #当条件表达式n为True时,执行语句块n
‘’’

3.1 if—elif语句用法

score = 80
if 90 <= score <= 100:
    print("成绩爆表")
elif 80 <= score < 90:
    print("成绩优秀")
elif 60 <= score < 80:
    print("成绩合格")
elif 0 <= score < 60:
    print("成绩堪忧")
print("您的成绩为:%d" % score)

4. if-elif-else 语句

‘’’
此外 if-elif 语句后还可以使用 else语句
用来表示if-elif语句中有条件不满足时执行的语句块,其语法格式如下
if 条件表达式1:
语句块 1 #当条件表达式1为True时,执行语句块1
elif 条件表达式2:
语句块 2 #当条件表达式2为True时,执行语句块2

else 条件表达式n:
语句块 n #当以上条件表达式均为False时,执行语句块n
‘’’

4.1 if-elif-else语句的使用

score = 120
if 90 <= score <= 100:
    print("成绩爆表")
elif 80 <= score < 90:
    print("成绩优秀")
elif 60 <= score < 80:
    print("成绩合格")
elif 0 <= score < 60:
    print("成绩堪忧")
else:
    print("成绩有误")
print("您的成绩为:%d" % score)

5 if 语句嵌套

‘’’
if 语句嵌套是指if、if-else中的语句块可以是if或if-else语句,其语法格式如下:
(一) if 语句
if 条件表达式1:
if 条件表达式2: #嵌套if语句
语句块2
if 条件表达式3: #嵌套if-else语句
语句块3
else:
语句块4
(二) if-else语句
if 条件表达式1:
if 条件表达式2: #嵌套if语句
语句块2
else:
if 条件表达式3: #嵌套if-else语句
语句块3
else:
语句块4
‘’’

5.1 if嵌套语句的用法

a, b, c = 5, 8, 3
if a >= b:
    if a >= c:
        print("a,b,c中最大的值为:%d" % a)
    else:
        print("a,b,c中最大的值为:%d" % c)
else:
    if b >= c:
        print("a,b,c中最大的值为:%d" % b)
    else:
        print("a,b,c中最大的值为:%d" % c)

八、循环语句

1.内置函数range()

当遍历数字序列时,可以使用range()函数
(1)第一种创建方式,只有一个参数(小括号中只给了一个数)

r = range(10)  # [0,1,2,3,4,5,6,7,8,9],默认为从0开始,默认相差1称为步长
print(r)  # range(0,10)
print(list(r))  # 用于查看range对象中的整数序列  ———>list是列表的意思

(2)第二种创建方式,给了两个参数(小括号中给了两个数)

r = range(1, 10)  # 指定了起始值,从1开始,到10结束(不包括10),默认步长为1
print(list(r))  # [1,2,3,4,5,6,7,8,9]

(3)第三种创建方式,给了三个参数(小括号中给了三个数)

r = range(1, 10, 2)
print(list(r))  # [1,3,5,7,9]

(4)判断指定的整数在序列中是否存在 in,not in

print(10 in r)  # False,10不在当前的r这个整数序列中
print(9 in r)  # True,  9在当前的r这个整数序列中
print(10 not in r)  # True
print(9 not in r)  # False
sum = 0
for i in range(1, 101):
    sum += 1
    print("1 + 2 + ··· + 100 = %d" % sum)

2.while语句

‘’’
在while语句中,当条件表达式为True时,就重复执行语句块;当条件表达式为False时,就结束执行语句块。while语句的语法格式如下:
While条件表达式:
语句块 # 此处语句块也称循环体
‘’’

while语句的用法

i, sum = 1, 0  # 实现1~100的累加
while i < 101:
    sum += 1
    i += 1
    print("1 + 2 + ··· + 100 = %d" % sum)

3.for语句

for语句的用法:

for word in "python":
    print(word)

4.while与for嵌套

(1) while语句中嵌套while语句 九九乘法表

i = 1
while i < 10:
    j = 1
    while j <= i:
        print("%d*%d=%-3d" % (i, j, i * j), end='')
        j += 1
    i += 1
    print(end='\n')

(2) while语句中嵌套for语句 九九乘法表

i = 1
while i < 10:
    for j in range(1, i + 1):
        print("%d*%d=%-3d" % (i, j, i * j), end='')
    i += 1
    print(end='\n')

(3)for语句中嵌套while语句 九九乘法表

for i in range(1, 10):
    j = 1
    while j <= i:
        print("%d*%d=%-3d" % (i, j, i * j), end='')
        j += 1
    print(end='\n')

(4) for语句中嵌套for语句 九九乘法表

for i in range(1, 10):
    for j in range(1, i + 1):
        print("%d*%d=%-3d" % (i, j, i * j), end='')
    print(end='\n')

5.break语句

break语句可以使程序立即退出循环,转而执行该循环的下一条语句。
如果break语句出现在嵌套循环中的内层循环中,则break语句只会跳出当前层的循环。

i = 0
while True:
    i += 1
    print("第%d次循环开始" % i)
    if i == 3:
        break
        print("第%d此循环结束" % i)
    print("整个循环结束")

6.continue语句

i = 0
while i < 3:
    i += 1
    print("第%d次循环开始" % i)
    if i == 2:
        continue
    print("第%d次循环结束" % i)
print("整个循环结束")

7. else语句

‘’’
else语句除了可以与if语句搭配使用外,还可以与while语句,for语句搭配使用,
当条件不满足时执行else语句块,它只在循环结束后执行。
‘’’

(1)for语句搭配else语句的用法

for n in range(1, 3):
    print("第%d次循环" % n)
else:
    print("循环结束")

(2) for语句中存在break语句

for n in range(1, 4):
    print("第%d次循环" % n)
    if n == 2:
        break
    else:
        print("循环结束")
print("程序结束")

8.pass语句

for n in range(1, 3):
    pass
    print("暂时没有思路")
print("程序结束")

练习:程序输出1~100的质数

print('以下是100以内的质数:')
for num in range(2, 101):  # ramge函数生成2~100之间的整数,使用for语句遍历这些整数,
    if all(num % i != 0 for i in range(2, num)):  # 对每个整数进行判断是否是质数,
        print(num)  # (仅能被1和自身整除的整数),使用all()函数和一个生成器表达式进行判断,
        # 如果一个数能被2到(n-1)之间的任意数整除,则返回False,否则返回True,最后如果这个数是质数则将这个数输出sum=0
sum = 0
for i in range(2, 100):  # 循环迭代i 2->100
    for j in range(2, i):  # 第二次循环迭代j 2->i-,判断i 是否能被j整除
        if i % j == 0:  # 如果i能被j整除,说明i不是质数,跳出循环
            break
    else:  # 如果第二层for循环正常结束,说明i为质数,将它加到sum上
        sum += i
print("100以内质数的和为:", sum)  # 输出质数之和

九、字符串

1. 使用单引号标识字符串

'别让世俗淹没生活的浪漫与热爱 !'

2.使用双引号标识字符串

"别让世俗淹没生活的浪漫与热爱 !"

3. 使用三引号标识字符串

'''
别让世俗淹没生活的浪漫与热爱
'''
"""
别让世俗淹没生活的浪漫与热爱
"""

4. 字符串不可以被修改但是可以被截取

str = "xiaoqian is a programmer."
print(str[0:14] + "gril")

5.、转义字符

1.换行\n

print('Hello\nWord')

2.回车\r

print('Hello\rWord')  # word将hello覆盖了

3.水平制表符\t

print('Hello\tWord')

4.退格\b

print('Hello\bWord')  # \b是退一格,将o退没了
print('http:\\www.baidu.com')
print('他说:"别让世俗淹没生活的浪漫与热爱 !"')

5.原字符,不希望转义字符起作用,就是用原子符。在原子符之前加上r或R

print(r'别让世俗淹没生活的浪漫\n与热爱')

6.注意事项,最后一个字符不能是反斜杠

如:

print(r'别让世俗淹没生活的浪漫\n与热爱\')

print('r''别让世俗淹没生活的浪漫\n与热爱\')

6.字符串的输出

print("666")

7.常用的格式化符号

格式符号转换
%s格式化字符串
%c格式化字符
%i格式化有符号十进制整数
%d格式化整数
%u格式化无符号十进制整数
%o格式化八进制整数
%x格式化十六进制整数(小写字母)
%X格式化十六进制整数(大写字母)
%e用科学计数法格式化浮点数
%E作用和%e一样
%f格式化浮点实数
%g%f和%e的简写
%G%f和%E的简写
%%输出%

8.字符串的输入

input("666")

9.字符串的索引与切片

字符串可以通过运算符[]进行索引与切片,字符串中每个字符都对应两个编号(也称下标)字符串str正向编号从0开始,
代表第一个字符,依次往后,字符串str负向编号从-1开始,代表最后一个字符,依次向前。因为编号可正可负,所以字符串中的
某个字符可以有两种方法索引。

str=("cong cong na nian")
      0123456789
str = "cong cong na nian"

(1)单个字符

print(str[10])
print(str[6])  # 空格也是字符
print(str[66])  # IndexError: string index out of range  字符超出索引范围
print(str[-2])

(2)多个字符切片

print(str[0:4])  # 类似于range()函数的使用,默认步长为1
print(str[:5])  # 等价于str[0:5:1]
print(str[:])  # 整个字符串
print(str[2:4:2])  # 索引2,4两个字符,步长为2
print(str[2:8:-2])  # - 表示反方向取,步长为2,从8开始到2,一般不常用

10.字符串的运算

运算符说明
+字符串连接
*重复字符串
[]索引字符串中的字符
[:]对字符串进行切片
in如果字符串中包含给定字符,返回True
not in如果字符串中包含给定字符,返回False
r或R原样使用字符串

11.字符串的运算

str1, str2 = "青春的颜色", "一抹绚烂"
print(str1 + str2)
print(3 * (str1 + str2))
if "季节" in "季节更替":
    print("注意身体!")
else:
    print("各自安好!")

12.字符串常用函数

(1)大小写转换

函数说明
upper()将字符串中所有小写字母转换为大写
lower()将字符串中所有大写字母转换为小写
capotalize()将单词的首字母大写
title()将每个字符串中单词的首字母大写
name = "time"
str = input("请输入用户名(不区分大小写):")
if str.lower() == name:
    print("欢迎用户%s登录" % name)
else:
    print("用户名错误!")

(2)判断字符

函数说明
isupper()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是大写,则返回True,否则返回False
islower()如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写)字符都是小写,则返回True,否则返回False
isalpha()如果字符串至少有一个字符并且所有字符都是字母,则返回True,否则返回False
isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回False
isspace()如果字符串中只包含空白,则返回True,否则返回False
istitle()如果字符串是标题化的,则返回True,否则返回False
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_45830728/article/details/130784254