Python教程

python入门到实战(二) python基础

本文主要是介绍python入门到实战(二) python基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

工程师们大家好,配套免费视频

文章目录

    • 1.变量
    • 2.标识符规则
    • 3.使用变量
    • 4.数据类型
    • 5.注释
    • 6.print输出
      • 6.1格式化输出
      • 6.2print方法
    • 7.数据类型转换
    • 8.运算符
      • 8.1算术
      • 8.2 赋值运算符
      • 8.3 复合赋值运算符
      • 8.4 比较运算符
      • 8.5逻辑运算符
      • 8.6位运算符

1.变量

昨天我们已经安装好了python环境,并且执行了下面的语句:

print('张三')

在实际项目中,常常会有需求:根据用户输入,打印不同的名字。那么这个代码怎么写呢?

不能写成print('张三')、print('李四')等
因为用户输入是不确定的,但是我们代码得先写好呀。
所以可以给用户输入得信息一个代号,也就是变量。比如:
写成print(name)  这个name就代表用户输入得东西,
当然现在我们不会用户输入,但是可以先明白这个概念。
name='张三'        # 假设用户输入得是张三  需要把张三的值赋给name这个=
号就是赋值的意思
print(name)       # 然后打印name就是打印张三  注意不能加引号 不然就是
字符串'name'了
我们就把这种能根据赋值不同而变化的代号称为变量,软件行业专业术语也叫标识符

2.标识符规则

1.由数字、字⺟、下划线组成
2.不能数字开头
3.不能使⽤内置关键字
4.严格区分⼤⼩写

python的内置关键字:也就是这些单词在python解释器解释的时候具有特殊含义的
False None True and as assert 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
我们都会挨着学习的

常规的一些规范如下:

⻅名知义。
⼤驼峰:即每个单词⾸字⺟都⼤写,例如: MyName 。
⼩驼峰:第⼆个(含)以后的单词⾸字⺟⼤写,例如: myName 。
下划线:例如: my_name 。

3.使用变量

pycharm新建项目,pythonProject,新建test.py

在这里插入图片描述

4.数据类型

在上面的使用中,可以看到变量既可以像name赋值’张三’也可以像age赋值为10,很明显他们是有区别的,10可以做加减乘除,张三就不可以。既然有区别就需要区分,在编程语言中,把这种区别称为数据类型的不同。

常见的数据类型:

python的数据类型都是由后面赋什么值决定
1.数值类型:
	整数:int                eg: age=10  把整数10赋值给age那么age就是int类型
	小数(浮点数):float       eg:money=1.00
2.布尔类型:  
	真:True                 eg:isStudent=True  在实际中做判断使用
	假:false
3.字符串类型 str              eg:name='张三'
下面的类型,后面学习
4.list 列表
5.tuple 元组
6.set 集合
7.dict 字典


检测数据类型的⽅法: type()


name = '张三'
print(type(name))  # <class 'str'>  class表示类型 表示name是字符串类型 其它类似
age = 10
print(type(age))  # <class 'int'>
isStudent = True
print(type(isStudent))  # <class 'bool'>

如果大家写代码的时候有虚线出现,就是pycharm检测到你的代码不规范
可以快捷键ctrl+alt+L一键调整

5.注释

其实已经发现在上面的文档中出现了# 可以看出来是用来说明代码的,这个叫注释,解释器不会解释有注释符号后面的字

注释分为两类:单⾏注释 和 多⾏注释。

单行:
# 注释内容
多行:
"""
 第⼀⾏注释
 第⼆⾏注释
 第三⾏注释
"""
'''
 注释1
 注释2
 注释3
'''

快捷键: ctrl + /

6.print输出

前面变量的章节print(name),让name='张三’就是输出张三

现在想打印 用户输入的名字:张三 可以这样:

在这里插入图片描述

加上age呢?

在这里插入图片描述

我们可以使用格式化输出:

6.1格式化输出

在这里插入图片描述

上面的%d就是一种格式化输出,常用的还有

格式符号转换
%s字符串
%d有符号的十进制整数
%f浮点数
%c字符
%u无符号十进制整数
%o八进制整数
%x十六进制整数(小写ox)
%X十六进制整数(大写OX)
%e科学计数法(小写’e’)
%E科学计数法(大写’E’)
%g%f和%e的简写
%G%f和%E的简写

例子:

name = '张三'  # 姓名
age = 10  # 年龄
height = 75.5  # 身高
studentId = 1  # 学号

# 输出我的名字是张三 字符串用%s
print('我的名字是%s' % name)

# 输出我的学号是0001 %4d 就是后面是用一个整数替换 如果不足4位用0填充
print('我的学号是%4d' % studentId)

# 我的体重是75.50公斤  %.2f表示后面是一个浮点数 小数点后面保留两位
print('我的体重是%.2f公斤' % height)

# 我的名字是张三,今年10岁了
print('我的名字是%s,今年%d岁了' % (name, age))

# 我的名字是张三,明年19岁了
# 两个参数 注意那个括号
print('我的名字是%s,明年%d岁了' % (name, age + 1))

# 我的名字是张三,明年11岁了
# 注意写法 f是python3.6以后才有的
print(f'我的名字是{name}, 明年{age + 1}岁了')

6.2print方法

这是print方法的源码
def print(self, *args, sep=' ', end='\n', file=None): 
第一个self大家现在不用管
第二个*args,这个代表可以输入多个 也就是可以
  print(name,age)  
第三个sep表示输出多个的分隔符 比如
  print('zhangsan','lisi',sep='*')  输出就是zhangsan*lisi  中间*号拼接
第四个end代表print这一行语句结束后 \n代表换行
  print(name)
  print(age)  默认这两个会换行输出 就是因为默认的end是\n
  如果这样
  print(name,end='')
  print(age)    就不会换行了
第五个file代表输出到哪儿,默认就是打印到控制台
也可以
  print('zhangsan','lisi',sep='*',file=open(file='D://a.txt',mode='w'))
  表示把zhangsan*lisi输出到d盘的a.txt  mode='w'表示写入

tips:除了\n还有`\t`:制表符,一个tab键(4个空格)的距离。

7.数据类型转换

前台已经了解了数据类型

大家想一想百度,我们在输入框输入信息,这个信息由人控制输入的内容不确定,页面也不帮我们转换,他直接全部认为是字符串,

然后传递到我们的代码中来,而我们需要的是多种多样的,可能是int(整数)类型,float(小数)等类型,所以就涉及到一个数据类型的转换问题。常用的:

函数说明
int(x)将x转换为一个整数
float(x )将x转换为一个浮点数
complex(real [,imag ])创建一个复数,real为实部,imag为虚部
str(x )将对象 x 转换为字符串
repr(x )将对象 x 转换为表达式字符串
eval(str )用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s )将序列 s 转换为一个元组
list(s )将序列 s 转换为一个列表
chr(x )将一个整数转换为一个Unicode字符
ord(x )将一个字符转换为它的ASCII整数值
hex(x )将一个整数转换为一个十六进制字符串
oct(x )将一个整数转换为一个八进制字符串
bin(x )将一个整数转换为一个二进制字符串

有很多我们现在暂时还没有学习,也用不到,边用边学。先掌握下面几个:

# 现在还没学习输入 就直接用变量来表示
a = '10'
print(type(a))  # 打印a的类型是str


int_a = int(a)  # 将a转换为int类型
print(type(int_a))  # 打印aint_a的类型是int


str_a = str(int_a)  # 将int类型在转换为字符串类型
print(type(str_a))  # 打印str_a的类型是str

其它:

a = '123.5'
print(type(a))
# 将字符串a转换为float类型
f_a = float(a)
print(f_a)
print(type(f_a))

# 将f_a float类型转换为int类型
i_a = int(f_a)  # 直接把小数点后面抹掉了 要注意
print(i_a)
print(type(i_a))

# 将int转换为float类型
f_i_a = float(i_a)
print(f_i_a)  # 123.0

b = '123abc'
i_b = int(b)  # 报错不是纯数字

bool类型

a = False
print(a)
print(type(a))

# bool类型转换为int类型
i_a = int(a)
print(i_a)  # true转换为1 false转换为0
print(type(i_a))

#  也可以直接加
b = True
c = True
print(b + c)  # 结果为2 自动转换

8.运算符

一共五大类:

- 算数运算符
- 赋值运算符
- 复合赋值运算符
- 比较运算符
- 逻辑运算符

8.1算术

运算符描述实例
+1 + 1 输出结果为 2
-1-1 输出结果为 0
*2 * 2 输出结果为 4
/10 / 2 输出结果为 5 10/3=3.33333333
//整除9 // 4 输出结果为2
%取余9 % 4 输出结果为 1
**指数2 ** 4 输出结果为 16,即 2 * 2 * 2 * 2
()小括号小括号用来提高运算优先级,即 (1 + 2) * 3 输出结果为 9

8.2 赋值运算符

运算符描述实例
=赋值=右侧的结果赋值给等号左侧的变量

单个变量赋值

num = 1
print(num)

多个变量赋值

num1, float1, str1 = 10, 0.5, 'hello world'   # 分别对前面三个变量赋后面得值
print(num1)
print(float1)
print(str1)

多个变量赋值

a = b = 10  # a,b都等于10
print(a)
print(b)

8.3 复合赋值运算符

运算符描述实例
+=加法赋值运算符c += a 等价于 c = c + a
-=减法赋值运算符c -= a 等价于 c = c- a
*=乘法赋值运算符c *= a 等价于 c = c * a
/=除法赋值运算符c /= a 等价于 c = c / a
//=整除赋值运算符c //= a 等价于 c = c // a
%=取余赋值运算符c %= a 等价于 c = c % a
**=幂赋值运算符c ** = a 等价于 c = c ** a

例如:

a = 100
a += 1
# 输出101  a = a + 1,最终a = 100 + 1
print(a)

b = 2
b *= 3
# 输出6  b = b * 3,最终b = 2 * 3
print(b)

c = 10
c += 1 + 2
# 输出13, 先算运算符右侧1 + 2 = 3, c += 3 , 推导出c = 10 + 3
print(c)

8.4 比较运算符

比较运算符也叫关系运算符, 通常用来判断。

运算符描述实例
==判断相等。如果两个操作数的结果相等,则条件结果为真(True),否则条件结果为假(False)如a=3,b=3,则(a == b) 为 True
!=不等于 。如果两个操作数的结果不相等,则条件为真(True),否则条件结果为假(False)如a=3,b=3,则(a == b) 为 True如a=1,b=3,则(a != b) 为 True
>运算符左侧操作数结果是否大于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a > b) 为 True
<运算符左侧操作数结果是否小于右侧操作数结果,如果小于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False
>=运算符左侧操作数结果是否大于等于右侧操作数结果,如果大于,则条件为真,否则为假如a=7,b=3,则(a < b) 为 False如a=3,b=3,则(a >= b) 为 True
<=运算符左侧操作数结果是否小于等于右侧操作数结果,如果小于,则条件为真,否则为假如a=3,b=3,则(a <= b) 为 True
a = 7
b = 5
print(a == b)  # False
print(a != b)  # True
print(a < b)   # False
print(a > b)   # True
print(a <= b)  # False
print(a >= b)  # True

a = 1
b = True
print(a > b)  # false
print(a == b)  # true

8.5逻辑运算符

运算符逻辑表达式描述实例
andx and y布尔"与":如果 x 为 False,x and y 返回 False,否则它返回 y 的值。True and False, 返回 False。
orx or y布尔"或":如果 x 是 True,它返回 True,否则它返回 y 的值。False or True, 返回 True。
notnot x布尔"非":如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not True 返回 False, not False 返回 True
a = 1
b = 2
c = 3
print((a < b) and (b < c))  # True
print((a > b) and (b < c))  # False
print((a > b) or (b < c))   # True
print(not (a > b))          # True


a = 0
b = 1
c = 2

# and运算符,只要有一个值为0,则结果为0,否则结果为最后一个非0数字
print(a and b)  # 0
print(b and a)  # 0
print(a and c)  # 0
print(c and a)  # 0
print(b and c)  # 2
print(c and b)  # 1

# or运算符,只有所有值为0结果才为0,否则结果为第一个非0数字
print(a or b)  # 1
print(a or c)  # 2
print(b or c)  # 1

8.6位运算符

二进制相关知识可以看:有二进制

运算符描述
&按位“与”运算符:参与运算的两个值,如果两个相应位都为 1,则结果为 1,否则为 0
|按位“或”运算符:只要对应的两个二进制位有一个为 1 时,结果就为 1
^按位“异或”运算符:当两对应的二进制位相异时,结果为 1
~按位“取反”运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1
<<“左移动”运算符:运算数的各二进制位全部左移若干位,由“<<”右边的数指定移动的位数,高位丢弃, 低位补 0
>>“右移动”运算符:运算数的各二进制位全部右移若干位,由“>>”右边的数指定移动的位数
a = 55  # 二进制a=0011 0111  右边第一位是2的零次方 第二位是2的一次
b = 11  # 二进制b=0000 1011  以此类推
print(a & b)   # 0000 0011 所以结果为3
print(a | b)   # 0011 1111 63
print(a ^ b)   # 0011 1100 60
print(~a)      # 1100 1000 第一位是1就是负数 0就是正数补位得-56
print(a << 3)  # 11011 1000
print(a >> 3)  # 0000 0110

这篇关于python入门到实战(二) python基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!