新手入门笔记,别喷

这篇博客是针对Python初学者的入门教程,涵盖了Python的基础知识,包括基本概念、数据类型、条件语句、循环结构、字符串操作、字典和集合的使用。此外,还介绍了函数、文件操作、模块和包的使用,以及面向对象编程的基本概念。博客深入浅出地讲解了Python编程的各个方面,是学习Python的良好起点。
摘要由CSDN通过智能技术生成

python入门

基本概念和基本数据类型

变量:变量是编程语言中最基本的概念,和字面意思一样,指的就是他们的值可变,和我们 以前学习的方程类似,变量可以代入任何值。

​ 我的理解:变量就是一个可变的量,在变量中可以存任何值

​ 例子:我们把会变的菜价,变成变量,同样也是可以的

变量的命名规则:

​ 变量一般使用: 英文字母、下划线 和 数字组成(变量不能以数字开头和一些特殊符号 如:$、@)
​ 关键字不能做变量名,内置函数最好也不要做变量名

关键字

#如何查看关键字和内置函数
import keyword  #keyword模块记录了python中所有的关键字
print(keyword.kwlist)#keyword.kwlist查到python所有关键字
dir(__builtins__)	#dir(__builtins__)可以查找到python中所有的内置函数

变量的引用:

#如:在同一时间给变量赋值两次
price = 4.50
price = 6.00

输入和输出

输入用:input() 输出用:print()

in_a = input('请输入一个值:')
print('输出的值:',in_a)

注意:input()函数输入的值都是字符串的类型

数值类型

数字类型分为:

​ int 整数:3

​ float 浮点型:3.14

​ bool 布尔型:False True

注意:在python中布尔值的首字母要大写

数值类型的计算

‘+’ 加法运算 例子: …

‘-’ 减法运算 例子: …

‘*’ 乘法运算 例子: …

‘******’ 幂运算 例子:2 ** 3

‘/’ 除法运算 例子:9/6 这个会得到小数:1.5

‘//’ 整除运算 例子:9/6 这个会得到整数:1

‘%’ 取余运算 例子:9/6 这个会得到余数:3

布尔型的加减运算 True+False 所以这里是 1+0

这里我们把True看作1,False看作0

字符串

字符串的定义

定义方式有三种分别为单引号和双引号和三引号

三引号和单引号和双引号有所不同,三引号定义时可以换行

例子:

str1 = 'hello python'
str2 = "hello python"
str3 = '''hello python
你好,python语言'''

字符串的加乘法(不能进行其他运算)

'hello'+'python'
#结果为:'hellopython' 将两个字符串拼接到一起

'hello' * 3
#结果为:'hellohellohello' 将3个字符串拼接到一起

字符串的拼接

格式化拼接

s = 'nice to'
t = 'meet you'
r = '!'
#如果我们想在每个字符串之间加空格或者其他字符,我们可以在%s之间加
print('%s %s %s' %(s,t,r))

利用join拼接

#如果我们想在每个字符串之间加空格或者其他字符,我们可以在''里面加
print('*'.join([s,t,r]))

利用format拼接

#如果我们想在每个字符串之间加空格或者其他字符,我们可以在{}之间加
print('{}*{}{}'.format(s,t,r))

字符串格式化

%r:原样输出对象

常用的数值模块

浮点高精度计算

#1.01-0.9 值为:0.10999999999999999
import decimal #导入浮点高精度模块
decimal.Decimal('1.01') - decimal.Decimal('0.9')
#值为:Decimal('0.11')

使用时注意传入的是字符串

数学模块(math)

import math
math.pi

Math模块有常见的数学函数,有需要的可以在这个模块里面找找

dir(math)	#查找所有的数学函数
'''
['__doc__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'lcm', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'nextafter', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc', 'ulp']
'''

条件语句

if语句

if的使用:if后面跟上表达式,注意加冒号和缩进

else使用:else不能单独使用,后面直接跟上冒号和缩进,没有判断

elif使用:只能跟在if后面,不能单独使用

if常用运算符

‘>’ ‘>=’ ‘<’ ‘<=’ ‘==’ ‘!=’

#语法:
if(表达式):   #if代表'如果'的意思 如果表达式成立,执行if下的代码块
    代码块
#else代表'否则'的意思 如果if的表达式不成立我们就可以输出else下的代码块
else:		 
    代码块
'''
例子:如果周末不下雨,就去逛街,否则就在家学习像这样的一个选择,
	 该如何用代码表示出来呢?
'''
weather = input('请输入一个天气:')
if weather == 'sun':
    print('逛街')
else:
    print('在家')

优化的原则: 1. 逻辑更加简单,比如少用否定,多用肯定

​ 2.用英文代替拼音,减少歧义

多重选择

三目运算符

#语法: 代码块	判断表达式	代码块
print('ok') if a>0 else print('no')

注意:只有简单if判断可以使用,过于复杂判断就不要使用了,那样会影响代码的可读性

逻辑运算符

逻辑运算符中返回的值都是bool型 False、True

and为"与运算"

#逻辑与运算符 用and
if x>1 and y>9:
    print('两个表达式为真')
else:
    print('两个表达式其中一个为假或两个都为假')

or为“或运算”

#逻辑或运算符 用or
if x>1 and y>9:
    print('两个表达式其中一个为真')
else:
    print('两个表达式都为假')

False为”非运算“

if False: #可在False加一个not,就输出第一句
    print('为真就为假')
else:
    print('为假就为真')

逻辑短路

逻辑运算过程中,如果已经能够得到最后的值,则不会再进行后面的判断,

这个称为逻辑短路

a = 3
a >6 and a> 2 #这里判断a>6为False时,后面就不会继续判断,造成逻辑短路

a>1 or a>2	#

while循环

while 的使用和 if 类似,
判断为真的时候则运行缩进里面的代码,
判断式为假时则停止循环

#例:打印1到10以内吧的数
i = 1
while i<10:
    print(i)
    i+=1

使用 while 循环要注意:
循环一定能够停止
注意判断式是否能够为假

while 循环,只要条件为True,就会一直执行while下的代码块,知道while判断为False才会停止运行

#语法:
while 表达式:#只要表达式为True,while下的代码块会一直执行,直至while为False
    循环体/代码块

while循环中else的使用

#语法:
while 表达式:
    循环体
else:	#当while中的表达式为False时执行
    代码块

#break和continue的使用

#break
i = 1
while i<10:
    print(i)
    if i==5:
        break #结束该循环
    i+=1
'''
while 后面也可以直接跟上True,但是内部就必须要使用break来终止循环使用break终止的循环,是不会执行else的内容
'''
#continue
i = 1
while i<10:
    if i==5:
        continue #结束本轮循环,进入下一轮循环
    print(i)
    i+=1

迭代循环

for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。

这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。

通过使用 for 循环,我们可以为列表、元组、集合中的每个项目等执行一组语句。

遍历一个字符串

之前学过字符串

#for的遍历一个字符串
str = "python"
for i in str: #遍历str这个字符串
    print(i,end = ',')

end 可以设置每个值打印之后输出的字符串,默认是换行

range()函数**

range() 函数返回一个数字序列,默认情况下从 0 开始,并递增 1(默认地),并以指定的数字结束。

range()函数两个参数

#语法:range(开始值,结束值)
for x in range(10):
	print(x)

注意:range(10) 不是 0 到 10 的值,而是值 0 到 9。

range() 函数默认 0 为起始值,不过可以通过添加参数来指定起始值:range(3, 10),这意味着值为 3 到 10(但不包括 10):

for x in range(3,10):
	print(x)

range() 函数默认将序列递增 1,但是可以通过添加第三个参数来指定增量值:range(2, 30, 3):

使用 3 递增序列(默认值为 1):

for x in range(2,30,3):
	print(x)

continue

for i in range(1,100):
    if i%2 == 0 or i%3 == 0:
        continue	#结束本次循环,进入下一次循环
    elif i%17 == 0:
        break		#结束循环
    else:
        print(i,end = '')
else:		#前面有break所以这句不会执行
    print('循环结束')

for 循环中的 else 关键字指定循环结束时要执行的代码块:

else:循环结束时执行else,但是如果之前有break就不会执行else

#打印1到9所有数字,并在循环结束时打印一条消息:
for i in range(10):
	print(i)
else:
    print('代码块结束!')

嵌套循环

嵌套循环是循环内的循环。

“外循环”每迭代一次,“内循环”将执行一次:

#九九乘法表
for i in range(1,10):
    for j in range(i,10):
        print(f'{
     i}*{
     j}={
     i*j}',end = ' ')
    print(end = '\n')

pass语句

for 语句不能为空,但是如果您处于某种原因写了无内容的 for 语句,请使用 pass 语句来避免错误。

for x in [0, 1, 2]:
  pass

序列类型-列表、元祖

列表的定义

列表就如同一个菜篮子,可以放菜,也可以放钱
因此列表里面既可以放字符串,也可以放数值类型数据

除此之外,列表里面可以几乎放python的任何对象

#列表里面既可以放字符串,也可以放数值类型数据
thislist = ['python','java','php',100]

列表的增删改查

index:可以根据元素找到元素的索引

添加:append、extend、insert 这三个方法

如果是直接两个列表相加,记得重新赋值,否则不会改变值

删除:pop、remove、clear 这三个方法

删除是不可逆的,所以删除前要确定好

copy: 复制列表,类似于保存快照

count: 可以统计列表里面某个元素出现的次数,也属于查找

reverse:是将列表顺序颠倒过来,没有排序

sort:对列表中元素进行排序,采用Timsort算法排序

#列表里面既可以放字符串,也可以放数值类型数据
thislist = ['python','java','php',100]
#列表的索引取值,也可以是负数
thislist.index(1)
thislist.index(-1) #这里是从列表的最后面开始取值


#添加元素
thislist.append('香蕉')	#在列表中添加一个元素
thislist.extend(['肉','豆腐'])	#在列表中添加多个个元素
thislist
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值