Python学习1 基础语法 数据类型 计算机基础

Posted DQ_CODING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习1 基础语法 数据类型 计算机基础相关的知识,希望对你有一定的参考价值。

Python的重要性

python就业方向


Python的历史

python创造于1989年,荷兰人吉多.范罗苏姆
现在是Python3版本
09

Python的特点

1)跨平台
2)解释型语言
3)交互式
4)面向对象:一切皆对象
5)具有一个强大的标准库
6)Python社区提供了大量的第三方模块
7)
缺点:
1)运行速度慢
2)国内市场较小
3)中文资料匮乏


这是一个在电脑中已经安装的模块的文档

设置pyCharm自己的模板

File-setting-Editor-File and Code Template-python Script
模板

${PROJECT_NAME} - 当前Project名称;
${NAME} - 在创建文件的对话框中指定的文件名;
${USER} - 当前用户名;
${DATE} - 当前系统日期;
${TIME} - 当前系统时间;
${YEAR} - 年;
${MONTH} - 月;
${DAY} - 日;
${HOUR} - 小时;
${MINUTE} - 分钟;
${PRODUCT_NAME} - 创建文件的IDE名称;
${MONTH_NAME_SHORT} - 英文月份缩写, 如: Jan, Feb, etc;
${MONTH_NAME_FULL} - 英文月份全称, 如: January, February, etc;

模板如下:

#author:dq
#project:${PROJECT_NAME}
#date:${YEAR}年${MONTH}月${DAY}日

解释器与解释器

1)
计算机只能识别机器语言
所以需要把其他语言翻译为机器语言

2)
编译:代码执行前将源代码一次性转换成目标代码的过程
类似英语中的全文翻译。
执行编译过程的程序叫做编译器。
特点:速度快,跨平台性差

解释:将源代码逐条转换成目标代码同时逐条运行的过程。(在代码执行的同时一边执行一边编译)
类似英语中的同声传译
特点:速度慢,跨平台性好

Python的基础知识

1.python的源程序
1)python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑软件做python的开发
2)文件扩展名.py
2.python代码中容易出现的常见错误
1)不能把多条语句写在一行,因为每行代码只否则完成一个动作

2)缩进错误,每行代码前面不要增加空格
4个空格代表一个缩进

3.Python2默认不支持中文,python3支持中文
因为ASCII码只包含256个字符,不支持中文

4.在终端中直接使用Python
cmd中输入python再回车
使用exit()或Ctrl+D退出Python模式

IDE

集成开发环境,集成了开发软件需要的所有工具
如:PyCharm,Idea

恢复PyCharm的初始设置

1.恢复PyCharm的初始设置(Linux)
在linux中列出所有文件:ls -la

计算机的使用方式

1.接口

2.用户界面
TUI文本交互界面
GUI图形化交互界面

命令行

1.任何计算机的操作系统都包含有命令行(Windows,linux,MacOS)
2.命令行有多个不同的名字
Shell,终端,Dos

3.Windows下的命令行:
通过cd xxx来切换磁盘
cd…回到初始磁盘

4.常用的Dos命令
1)dir查看当前目录下的所有文件(夹)
如:dir C:\\Users\\pc
2)cd xx进入指定目录
如:cd Desktop
.代表当前目录
…代表上一级目录
cd…回到初始磁盘,回到上一级目录
3)小技巧
方向键上下,查看历史的命令记录
tab键自动补全命令
4)md创建一个目录
如:
md dqtoday
5)rd删除一个目录
如:
rd d1
直接删除
6)del删除一个文件
如:
del d1
会进行询问是否删除
7)cls清除屏幕
如:cls
8)直接输入文件名称.文件类型打开文件
如:attendance.xlsx

命令的语法:
命令 【参数】【选项】

环境变量

1.环境变量定义

2.环境变量界面:
上面:用户环境变量,只对当前用户起作用
下面:系统环境变量,对所有用户起作用
建议只对用户环境变量修改

3.path环境变量
系统寻找文件:
1)当前目录下
2)path环境变量的路径中

多个路径之间使用;隔开

文本和字符集

1.文本:
纯文本(保存文字):如:txt
富文本(包括文本以外):如:word文档

纯文本在计算机底层也会转换为二进制保存
2.编码与解码:
编码:字符–>二进制
解码:二进制–>字符(人看得懂的)

3.常见的字符集:
UTF-8:使用1-5个字节
UTF-16:使用2-4个字节
UTF-32:使用4个字节

计算机语言

机器语言:二级制
汇编语言(符号语言):通过符号代替机器码:

  • 汇编:符号–>机器码
  • 反汇编:机器码–>符号(看得懂)
    高级语言:
    java,c…

编程的几个常用概念

1.表达式:类似于数学公式,不对程序产生一定的影响
7+4

2.语句:完成某种功能,会对程序产生一定的影响
print()
a=10

3.程序:由语句和表达式构成
a=10
print(str(a+100))

4.函数:
函数:是语句,用来完成特定的功能
分类:
内置函数(python解释器自带的)
自定义函数(程序员自己创建的函数)

python内置函数(在python手册中可以查看)

Python规范

1.4个空格(Tab)代表一个缩进
2.导入包
import random导入一个
form random import *导入相关的所有
3.空格:
在运算符两侧各加一个空格,逗号后面加一个空格
4.语句过长,使用\\续行符或()
如:
3+5
\\6+6

(3+5
9+0)
5。使用小驼峰或大驼峰
aMM
MaaLpp

Python基础语法

1.定义变量
变量名=变量值
a=78
a的数据类型随着变量值而变化

2.变量的命名规则:
以字母和下划线开头,包含数字,字母,下划线,中文,不能使用关键字
3.数据类型
1)数字:
int(整型)
long(长整型)
float(浮点型)
complex(复数):实部+虚部=1+8i

2)布尔类型:
Ture
False

3)字符串
0–n-1
-1–(-n)

4)集合类型:
List(列表):数组
Tuple(元组):内容不能改变
Dictionary(字典):相当于java的Map,键值对
通过type查看数据类型

a='xx'
#输出<class 'str'>
print(type(a))

3.查看关键字
import keyword
print(keyword.kwlist)

代码:

#查看关键字
import keyword
print(keyword.kwlist,sep=' ')
#输出
#['False', 'None', 'True', '__peg_parser__', 
# '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']

4.print()输出函数
print(’xx‘,‘yy’,sep=’ ‘,end=’\\n’)
使用’‘或“”都可以
使用,隔开
sep=‘x’每个值之间使用’x’进行间隔
end=’\\n’最后换行

#使用sep=‘**’分隔每个字符串,end=';'最后输出;
print('1234', '2345678','dfhgjuk',sep='**', end=';' )
m,n=1,3
print(m,n,sep=' ')

5.input()输入函数
age=input(‘defrgt’)
‘wdefrt’是对用户的提示,将用户的输入值赋给age,是字符串
注意:得到的是字符串,要进行运算需要int(a),转换为整型等

6.不同进制的表示
支持:
0x十六进制
0o八进制
内置函数:
bin()转二进制
oct()转八进制
hex()转16进制

print(bin(223),oct(23),hex(123),sep='  ',end='.')

7.数据类型转换
int()转整型
float()转浮点型
str()转字符串
bool()转布尔型:
有具体数值的是True,如1,90,‘2345’
0,’’,“”,(),[],{}等为空的为False
chr()返回整数对应的ASCII码
ord()返回ASCII码对应的整数

#数据类型转换
a='2345'
print(str(int(a)+1)+str(2345)+str(float(88))+str(bool("")))
#ASCII码与整数的转换
#输出C 1 	
print(chr(67),chr(0x31),chr(0o11),sep=' ',end='\\n')
#输出 97 112
print(ord('a'),ord('p'),sep=' ',end='\\n')

8.算术运算符
1)
%取模:求余数
2%3==2…0
所以余数为0

幂运算:
x
3==x^3

//求商
9/4=2…1
取2,去掉余数

2)两个整数相除,得到浮点数
所以如果要输出整数的话,使用int(a)

加法运算符:只能连接两个字符串+,不能整数+字符串(×)
乘法运算符:字符串*整数==将字符串重复多少次


print('spam' + 'spamspam')
print('spam' * 3)#spamspamspam

4)复合赋值运算符
x+=2:x=x+2
x%=2:求x/2的余数
x//=2:求x/2的商
x**=2:x=x^2

#复合赋值运算符
a=4//2#2求商
print(a,end='\\n')
a**=2#求a^2求幂4
print(a,end='\\n')

5)传递赋值
等号连接:a=b=c=‘2345’
同步赋值:m,n=3,7

组包:多个变量赋给同一个值(元组)
x=‘hello’,‘wer’,‘234’
print(x)

拆包:一个变量赋给多个变量(对应的关系)
str=‘1234’
a,b,c,d=str

代码:

#等号连接
x=y=z='989'
print(x,y,z,sep=' ',end='\\n')
#同步赋值
m,n=1,3
print(m,n,sep=' ',end='\\n')
#组包
d='345','345','iop'
#输出('345', '345', 'iop')
print(d,end='\\n')
#拆包
a,b,c=d
print(a,b,c,sep=' ',end='\\n')

6)可变长度赋值,使用*
o,*p,q=9,23,43,54,0
o=9
*p=23,43,54(可变长度)
q=0

代码:

#可变赋值长度
a,*p,b='d','b',3,45,45,'l'
#输出d  l
print(a,b,sep='  ',end='\\n')
#输出b 3 45 45
print(*p,end='\\n')
#输出<class 'str'>
print(type(a))
#但不能使用type(*p),报错,*p里面存储了多种数据类型

7)比较运算符
1.
数字与字符串比较,永远是False
如:
a=‘a’
a==97:False

#比较字符串
a='97'
#输出 False
print(a==97)

常用:>=,<=,!=
可以直接18.6 <= r <= 24.9

#1
#if 18.6 <= r <= 24.9:效果等同
#2
if (r >= 18.6 and r <= 24.9):
#3
if 24.9>=r>=18.6

8)与或非
1.
and 与
or 或
not 非

2.
短路与:and,第一个为False,后面就不再计算了,直接为false
短路或:or,第一个为True,后面就不再计算了,直接为true

# 短路与
#输出no
if (1 == 8 and 1 == 1):
    print('yes')
else:
    print('no')
          
#短路或
#输出ok
if(1==1 or 1==6):
    print('ok')
else:
    print('mm')

逻辑运算的结果:
and所有都是Ture,取最后一个值;不然就输出遇到的第一个为False的值
or所有都是False,取最后一个值;不然就输出遇到的第一个为True的值

# 与或非
# and所有都为True,输出最后一个89
print(1 and '3' and 'ui' and '89')
# or所有都为False,输出最后一个{}
print('' or [] or {})

# and输出遇到的第一个false:0
print('l' and '78' and 0 and {})
# or输出遇到的第一个true:88
print('' or {} or '88')

与或非案例:

# 2_1
# 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句,并且打印对应的结果。

b = input('请输入数字')
i = int(b)
if (i % 3 == 0 or i % 7 == 0) and (not (i % 3 == 0 and i % 7 == 0)):
    print('yes', end='\\n')
else:
    print('no', end='\\n')

# 2_2
# 同时被37整除,即为21的倍数;除以21不等于0即不能同时被37整除
b = input('请输入数字')
i = int(b)
if i % 3 == 0 or i % 7 == 0:
    if i % 21 != 0:
        print('yes', end='\\n')
    else:
        print('no', end='\\n')
else:
    print('no', end='\\n')

9)位运算
1.
使用 “&”、 “~”、 “|” 和 “^” 等操作符进行计算
按位与&:两个1为1,其他为0
按位或|:有1为1,两个0为0
按位取反~:1变0,0变1
按位异或^:相同为0,不同为1
2.
按位取反

~n=-(n+1),比如:~3=-4

3.位运算实例
使用&0xFF取得最后n位16进制数

#位运算符
#题目:0xF0384E作为RGB颜色,分别取出R=F0;G=38;B=4E
#计算机中使用的是二进制,所以移位后的数是二进制的要使用hex转换为16进制
#RGB:R右移4*4=16,G右移2*4=8
color=0xF0384E
#hex(color>>16)=0xf0
#hex(color>>8)=0xf038 要使用位运算符:&0xFF来取得最后的两位16进制数
#B=0xF0384E使用&0xFF取得最后两位16进制数
R=color>>16
G=color>>8
B=color&0xFF
print(hex(R),hex(G&0xFF),hex(B),sep=' ',end='\\n')

#&0xFF来取得最后的两位16进制数
#&0xFFFF取得最后四位16进制数
#&0xFFFFFF取得最后六位16进制数
print(hex(color&0xFF),hex(color&0xFFFF),hex(color&0xFFFFFF),sep=' ',end='\\n')

注释

单行注释#
多行注释开始和结尾使用三个’‘’或“ ” “

'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号 
这是多行注释,用三个单引号
'''

"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号 
这是多行注释,用三个双引号
"""

round函数

返回浮点数的四舍五入值
round(float浮点数,n要保留的几位小数)
n=null:整数
n=0或1:一位小数
n为负数:一位小数
-n:在整数部分从右到左,依次变为0

#round() 方法返回浮点数x的四舍五入值
# 当参数n不存在时,round()函数的输出为整数。
#
# 当参数n存在时,即使为0round()函数的输出也会是一个浮点数。
#
# 此外,n的值可以是负数,表示在整数位部分四舍五入,但结果仍是浮点数。
print(round(23.99,1))#24.0
print(round(23.0099,3))#23.01
print(round(23.00000055,7))#23.0000005
print(round(23.00000055))#23--整数
print(round(23.00000055,0))#23.0
print(round(23.00000055,-2))#0.0
print(round(23.00000055,-1))#20.0


秒转换为时分秒形式

常规:
时:d/3600
分:d%3600/60
秒:d%3600%60
因为Python中两个整数相除为浮点数,所以输出时使用int()

# 4_1
# 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以XX时XX分XX秒的方式表示出来。

d = 15678
# 秒->小时:秒/60/60
h = d / 3600
# 秒->分钟:秒%3600-->余数为不够的小时/60-->--》分钟
m = (d % 3600) / 60
# 剩余的秒数:(d%3600)%60余数不够的秒数
s = (d % 3600) % 60
print(int(h), '时', int(m), '分', int(s), '秒', sep='')

# 4_2
# python divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
d = 15678
# m=d//60 s=d%60
m, s = divmod(d, 60)
# h=m//60 m=m%60
h, m = divmod(m, 60)
print("%02d:%02d:%02d" % (h, m, s))

# 4_3
# 使用strftime()gmtime()函数把秒转换为时分秒
from time import strftime
from time import gmtime

# 输出 time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=4, tm_min=21, tm_sec=18, tm_wday=3, tm_yday=1, tm_isdst=0)

print(gmtime(15678))
# 格式化输出
print(strftime("%H:%M:%S", gmtime(15678)))

以上是关于Python学习1 基础语法 数据类型 计算机基础的主要内容,如果未能解决你的问题,请参考以下文章

Python学习第76天(js语法基础和基本数据类型)

python基础语法学习

Python语言学习前提:基础语法

Python基础 | Python的组合数据类型

Python-07:Python语法基础-数据类型

Python 基础语法