001-python基础知识之注释&缩进&变量&数据类型

本文详细介绍了Python编程的基础知识,包括注释、行和缩进、变量的定义和使用,以及Python中的六种数据类型。讲解了变量命名规则、数据类型的转换,并深入探讨了不同类型的数据操作。此外,还涵盖了输入输出、运算符的各种类型,如算术、逻辑、比较、赋值等,并提供了实例解析。文章最后列举了多个练习题,帮助读者巩固所学知识。
摘要由CSDN通过智能技术生成

一、注释
1、概念

程序是由代码和注释组成,注释是对某一部分代码作的解释,不参与程序的执行,不影响程序的运行

2、分类

单行注释:在一行注释内容前面加# 快捷键 Ctrl+/

# 你好

多行注释:用 ‘’’ ‘’’ 或 ”“” “”“ 将注释内容引起来

'''
hello 
world
'''
3、作用

对代码进行注解和说明,增强代码的可读性;让代码功能消失

二、行和缩进
1、行

一条语 句占一行,一行结束以后不需要写分号;一行有多行语句,语句之间必须有分号

2、缩进

一条语句最前面的空格叫缩进,python中语句前面不能随便添加缩进。

三、变量

如果在程序中需要使用一个数据,想用变量将数据存起来,然后再通过变量来使用这个数据

1、变量定义:变量指代存储的数据,在赋值的时候创建
# 语法
变量名=数据
2、变量名的命名基本规则

(1)两个要求

​ 变量名不能是系统关键字;只能由数字字母下划线组成,不能以数字开头

(2)三个规范

​ a. 见名知意;

​ b. 字母都小写,多个单词用下划线隔开

​ c. 不使用系统的函数名,类名和模块名

3、使用变量就是在使用变量中保存的数据,变量可以存任意类型的数据
4、系统关键字查看系统关键字

关键字是本身就具备特殊功能或特殊意义的标识符,关键字不能另做他用

from keyword import kwlistprint(kwlist)
#'False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
四、python中的数据类型(6种)

数据是需要保存的对象,提供数据的方式:具体的数据、已经赋值过的变量、运算表达式、函数调用表达式

1、数据类型
数字类型字符串列表元组布尔集合字典
整型int 浮点型float复数型complexstrlisttubleboolset
frozenset
dictionary
2、类型操作

1、获取数据类型 type()–获取指定数据的类型

2、类型转换:类型名(数据)–将指定的数据转换成指定的类型

(1) 隐式转换-自动完成

在对数据进行运算的过程中,较低数据类型(整数)就会转换为较高数据类型(浮 点数)以避免数据丢失

a=1
b=2.0
print(a+b) #3.0

(2) 显式转换-需要使用类型函数转换

a. 布尔和字符串转换

​ 所有的数据都可以转换为布尔和字符串

​ 0转换为False,非0转换为True

​ 所有的空值对象全是False

print(bool(0), bool(1), bool(-1))  # False True True
print(bool([]), bool({}), bool(()))  # False False False、
print(str())

b. 数字转换

​ 浮点数转整数只保留整数部分,整数转浮点数在整数后面.0

​ 只有引号内容是一个整数的字符串才能转换成整数

​ 只要引号内容是数字的字符串就能转换成浮点数

print(int(bool(100)))  # 1
print(int(1.1))  # 1
print(int(.1))  # 0
print(int(1.))  # 1
# print(int('2001.0')) # 错误
print(int('2000'))  # 2000
print(float('1.1'))  # 1.1
print(float('1'))  # 1.0
print(str(2))# '2'
五、输入输出
1、输入 input()

在程序中获取从控制台输入的数据;输入的数据返回类型一定是字符串

s = input("请输入:")
print(s, type(s))
# 请输入:12
# 12 <class 'str'>

一次性输入多个值

#输入三个整数
a,b,c=map(int,input('请输入a b c:').split())
2、输出 print()

运行程序的时候在控制台看到的内容,一定是在程序中用print打印的内容

用法1:打印一个数据、多个数据、数据表达式

#print(数据)
print(100) # 100
#print(数据1,数据2,数据3,....,数据n)
print(100,12,7.5)  #100 12 7.5
#print(数据表达式)
print(1+2) # 3

用法2:设置end

默认情况下一个print的打印结果占一行,原因是print在打印完数据之后会自动打印end的值,end的值默认是换行

# print(数据1,数据2,数据3,....,end='xxxx')
print(12,34,end=' ') 
print('hello')
#  12 34 hello

用法3:设置sep

sep控制多个数据之间的分割方式,默认是空格

# print(数据1,数据2,数据3,....,sep='xxxx')
print(12,34,sep='+') 
# 12+34
print(1,2,3,end='=',sep='+')
print(6)
#1+2+3=6
3、格式化输入

格式化输出类型一定是字符串,格式化输出有好几种

  1. format() 方法

    文本中添加占位符(花括号 {}),然后通过 format() 方法运行值

    name = '小明'
    age = 20
    str1 = '{}今年{}岁'.format(name, age)
    print(str1)
    #小明今年20岁
    
  2. f 字符串

     name = '小明'
    age = 20
    str2 = f'{name}今年{age}岁'
    
  3. 千分位符

     num = 132456789
    a = '{:,}'.format(num) #:,--表示将传进来的数据每隔三位分隔一次
    print(a)
    
  4. 百分数

     b = '{:.2%}'.format(67 / 100)  #:.2% --保留两位小数,转换成百分数的形式 
    print(b)
    
  5. 日期输出

    2022-6-21 15:30:30
    # %Y-%m-%d %H-%M-%S  年月日 时分秒
    from datetime import datetime
    time_=datetime(2022,6,21,15,30,30)
    c='{:%Y-%m-%d %H-%M-%S}'.format(time_)#给format传一个日期样式的数
    print(c)
    
  6. 自定义输出

     # < 左对齐 >右对齐  ^ 居中对齐
     # :>n  将数据使用空格拓展成长度为N的字符串并右对齐
     # :0>n 将数据使用0拓展为长度为n的字符串并右对齐
     print('{:%>3}'.format('*'))
     print('{:>3}'.format('**'))
     print('{:>3}'.format('***'))
    
六、运算符
1、算术运算符 加+、减-、乘*、除/、整除//、幂运算**、取余%
print(2 + 3)  # 5
print(2 - 3)  # -1
print(2 * 3)  # 6
print(2 / 4)  # 0.5
# //(整除):向下取整,结果为整数
print(3 // 2)  # 1
# **(幂运算):涉及到开放,结果均为浮点型
print(2 ** 3)  # 8
# %(取余)
print(5 % 2)  # 1
2、逻辑运算符 与and 、或or、非not

and:条件1 and 条件2 条件1,2都成立时,整体条件成立,反之,条件不成立
中断:and左边条件不成立时,右边条件无需在判断

or:条件1 or 条件2 至少有一个条件成立,整体成立;都不成立时整体不成立

中断: 左边条件成立时,右边条件无需在判断,左边条件不成立时,后边条件才判断

# 闰年:1、能被4整除但不能被100整除  2、能被400整除
year = int(input('请输入年份:'))
print(type(year))
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(year, '是闰年')
else:
    print(year, '不是闰年')

not:取反

print(not False)  # True
3、比较运算符

==等于(判断是否相等)、!=不等于、>大于、<小于、>=大于等于、<=小于等于

python中比较大小是同类型数据之间比较大小,比较大小得到的结果是布尔值

问题:为什么python能够比较大小

回答:python使用的编码值叫万国码:Unicode—Unicode是ASCII的一个拓展版

数字0-9对应的编码值是48- A-Z:65-90 a-z:97-122

print(3 > 4)  # False
4、赋值运算符

=简单赋值、+=加法赋值、-=减法赋值、*=乘法赋值、/=除法赋值、# %=取模赋值、**=幂赋值运算符、//=取整除 赋值

:=海象运算符,可在表达式内部为变量赋值。

复合赋值运算符:先算等号右边的式子再算等号左边的式子

a = 21
b = 10
c = 0
c = a + b
print("1 - c 的值为:", c)  # 31
c += a
print("2 - c 的值为:", c)  # 52
c *= a
print("3 - c 的值为:", c)  # 1092
c /= a
print("4 - c 的值为:", c)  # 52.0
c = 2
c %= a
print("5 - c 的值为:", c)  # 2
c **= a
print("6 - c 的值为:", c)  # 2**21
d = 42
d //= a
print("7 -d 的值为:", d)  # 2
5、位运算符

按位与&:参与运算的两个值,如果两个相应座位都为1,则最后结果为1

按位或|:对应的两个二进位有一个为1时,结果为1

按位异或^ :对应的二进位相同时为0,不同时为1

按位取反~ :对数据的二进位取反,1取反为0,0取反为1

<<左移动 :运算数的各二进位全部左移左移若干位,由<<右边的数指定移动的位数,高位丢弃,低位补0

右移动 :运算数的各二进位全部右移左移若干位,由>>右边的数指定移动的位数,高位补0,低位丢弃

按位运算符是把数字看作二进制来进行计算的

a =60 # 二进制0011 1100
b =13 # 二进制0000 1101
print(a & b)#0000 1100
print(a|b)#0011 1101
print(a^b)#0011 0001
print(~a)#1100 0011
6、成员运算符

in:在指定的序列中找到值返回 True,否则返回 False

not in:如果在指定的序列中没有找到值返回 True,否则返回 False。

a = 5
list = [1, 2, 3, 4, 6, 7]
if a in list:
    print(True)
else:
    print(False)
7、身份运算符

is:判断两个标识符是不是引用一个对象 x is y–id(x)==id(y)

in not:判断两个标识符是不是引用自不同的对象 x is not y–id(x)!=id(y)

注意:is与==的区别# is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

a = [1, 3]
b = a
print(b is a)  # True
c = a[:]  # 创建一个新列表给c,c和a不再是同一个列表对象
print(c is a)  # False
8、运算符优先级

1、先算小括号整体

2、算术运算符:** > *、/、%、// > +、-

3、算术运算符>比较运算符>逻辑运算符(and or not)>赋值运算符(== += -=)

9、练习题

练习1:华氏度和温度的转换:C = (F - 32)/1.8

练习2:根据指定的圆的半径,计算圆的周长和面积。

f = float(input("请输入华氏度:"))
c = (f - 32) / 1.8
print('华氏度{:.2f}等于摄氏度{:.2f}'.format(f, c))
c1 = round(c, 3)  # round(参数1,参数2)---参数1是要操作的数值,参数2是要保留的小数位
print(f'华氏度{f}等于摄氏度{c1}')

r = float(input("请输入圆的半径:"))
s = math.pi * r * r  # 面积
g = 2 * math.pi * r  # 周长
print('半径为{}的圆的面积是{:.2f},周长是{:.2f}'.format(r, s, g))
print(math.pi)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兮知

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值