第一章 基础捋顺,第二章 python基础语法

  • 第一章 基础捋顺
  • 第二章 python基础语法
    • 2.1输入输出
    • 2.2代码注释
    • 2.3代码缩进
    • 2.4命名规范
    • 2.5变量
    • 2.6基本数据类型
    • 2.7数据类型转换
    • 2.8 ASCII表
    • 2.9 格式控制
    • 2.10库引用
      • 2.10.1 turtle库
      • 2.10.2 random库
      • 2.10.3 time库

第一章 基础捋顺

①网络:
1)局域网:网线、计算机、交换机(192.168号段)
2)广域网:更大的局域网(网关)
②计算机:
1)硬件:看得见、摸得着
2)软件:除了硬件,都是软件 ☆(操作系统)
③软件实质:一堆代码 ☆(01)
问题:代码谁写的呢?程序员
问题:用啥写的?计算机语言 ☆(编程语言)
流行的编程语言:Java/Python/PHP/JS/Go/R/C#/.NET/VB…
问题:编程语言怎么来的?C/C++写出来的 ☆
扩展:01->代码(英文)=>汇编 ☆
问题:计算机为什么用二进制?电器 ☆ (高电平、低电平)
问题:人类为什么用十进制?十根手指头 ☆
④软件分类:
1)BS结构:Browser浏览器/Server服务器(早期的网站:浏览网页)
2)CS结构:Client客户端/Server服务端(所有的APP)
⑤浏览器:
世界五大浏览器厂商 ☆(四种内核)
1)IE(WEB工程师噩梦):兼容性极差 ☆(IE停止更新 Edge)
2)Chrome谷歌:程序员专用
3)FireFox火狐:程序员专用
4)Safari苹果:
5)Opera欧朋:
#中国没有自己的浏览器 ☆
#360、搜狗、猎豹、QQ、微信…(内核用的都是国外的内核)
中国为什么不自己写浏览器?(不是技术,而是市场)
3亿+次 ☆ 24小时
⑥服务器:习惯叫法 ☆
1)硬件角度:就是一台计算机 ☆(配置很高而已、且没有显示器、没有键盘、没有鼠标)(机架)
2)软件角度:
1.Linux服务器操作系统
2.各种服务器软件:
MySQL服务器、Oracle服务器、SQL Server服务器
Web服务器:Apache、Nginx、Tomcat、IIS
FTP服务器,邮件服务器、各种中间件服务器…
扩展:
IP地址:通过IP可以找到互联网上的一台机器 ☆
PORT号:服务器的门牌号 ☆
网址:协议://ip:端口号(HTTP默认的端口是80端口、HTTPS端口号是443端口)


第二章 python基础语法

2.1输入输出

print()
input()

2.2代码注释

单行注释:#
多行注释:“”" “”" 或 ‘’’ ‘’’


2.3代码缩进

说明:Python优雅的特点就是没有花括号{ },而是采用代码缩进来简化代码操作 ☆(缩进不能随便写)
写法:使用Tab键(字母Q左边的键),来进行代码缩进
注意:通常缩进的距离是4个空格,有些编辑器Tab键不是4个空格,需要注意,多了少了都不行
说明:编辑器PyCharm不用担心代码缩进的空格数,直接写Tab键即可 ☆


2.4命名规范

规范:起名只能用英文、数字、下划线,且数字不能开头,下划线也尽量不要开头,因为有特殊含义(面向对象)
说明:起名三种习惯 ☆
①大驼峰:两个单词相遇,两个单词的首字母都大写(MyDemo)Java习惯
②小驼峰:两个单词相遇,第二个单词的首字母都大写(myDemo)Java习惯
③下划线:两个单词相遇,中间用下划线分割(my_demo)Python习惯

红色的暂时不涉及


2.5变量

说明:变量是编程语言中特有的概念
含义:临时存储数据的容器 ☆(为什么是临时,因为可以变化)
命名:遵循命名规范 ☆
注意:慎用I和O,因为不好区分数字1和0
注意:变量名的大小写敏感,A跟a是完全不同的,且变量命名都用小写英文字母 ☆
举例:a=1含义是将1赋值给a变量,等号是有方向性的,即右边赋值给左边,要区别于数学的等号
注意:纯数字不用加引号,字符串要加引号(单引双引都行)双引号不能套双引号,单引号不能套单引号 ☆
注意:声明变量的时候必须要赋值,且可以多个变量一起声明


2.6基本数据类型

数据类型:就是变量都能够存放什么样的数据 ☆(同MySQL中的字段类型)
说明:我们可以使用type()函数打印变量的数据类型
分类:☆
①数字类型:
1)整数int:就是整数(包括正负)
2)浮点数float:就是小数(包括正负)
②字符串类型:str表示字符串类型
说明:使用单引或双引都可以,字符串声明必须在一行(使用三引字符串可以分多行)
注意:引号里的纯数字也属于字符串,不属于数字 ☆
③布尔型:bool,真True,假False(大写小敏感)

浮点数存在不确定尾数



2.7数据类型转换

说明:input()函数获取的内容都是字符串类型 ☆
转换函数:(符合逻辑)
int() 强制转换成整数
float() 强制转换成小数
str() 强制转换成字符串
数据类型转换:

num = input("请输入一个数字:") # input获取的内容,默认是字符串类型
#输入20
print(int(num)+10)  #int()表示强制转换成整数:前提是字符串类型的纯数字
#输出30age = 33
height = 1.77
print(int(height))  #1
print(float(age))  #33.0

数字和字符转化:

#chr()
#ord()num=65
print(chr(num)) #A
print(chr(97))  #a
string = 'B'
print(ord(string))  #66

2.8 ASCII表

ASCII含义:American Standard Code for Information Interchange 美国信息交换标准代码

需要记忆的ASCII码:
#65-A
#97-a
#48-0


说明:高四位和第四位的概念,高四位在左,第四位在右,合起来组成8位(bit),1Byte字节= 8bit位 ☆
说明:大写和小写是完全两个不同的字符 ☆
总结:ASCII表一共规定了128个字符,我们常用的就是英文、数字、常见字符(只看是十进制 ☆)

#中文:基于128的ASCII的基础上再次添加中文(GBK:gb312)
#万国码:Unicode编码(最大的表)
#Unicode编码:发行版(UTF-8、UTF-16、UTF-32)

#总结:需要记住的是UTF-8和GBK
#UTF-8:一个中文占3个字节
#GBK:一个中文占2个字符
#正常的英文和数字占1个字节

#结论:中文容易产生乱码


2.9 格式控制

format()方法


:b二进制; :c Unicode编码; :d十进制; :0八进制; :x十六进制; :X十六进制大写形式

下面内容仅为理解程序所用,暂时不重要

索引:使用[]获取字符串中的一个或多个字符
TempStr[-1]#获取TempStr这样一个变量字符串的倒数第一个字符
切片:返回字符串中一段字符子串
TempStr[0:-1]#从0开始,但不到最后一个字符(去掉最后一个字符)
列表类型[]表示,采用,分隔各元素
[‘F’,‘f’]表示两个元素
使用保留字in判断一个元素是否在列表中
TempStr[-1] in [‘C’,‘c’]#最后一个字符是不是C或c
eval函数去掉参数最外侧引号并执行余下语句
eval(“1+2”)#1+2
将字符串变成数字


TempStr = input("请输入带有符号的温度值:")
if TempStr[-1] in ['F','f']:C = (eval(TempStr[0:-1])-32)/1.8print("转换后的温度是{:.2f}C".format(C))
elif TempStr[-1] in ['F','f']:F = 1.8*eval(TempStr[0:-1])+32print("转换后的温度是{:.2f}F".format(F))
else:print("输入格式错误")

2.10库引用

2.10.1 turtle库



第二种容易名字冲突


import turtle
turtle.setup(650,350,200)#窗体的宽,高,位置
turtle.penup()#将画笔抬起,不形成图案,与pendown成对出现
turtle.fd(-250)#向海龟的(不是象限的)正前方运行-250个像素,bk正后方向,left(angle),right(angle)为左右多少度
turtle.pendown()#将画笔落下
turtle.pensize(25)#画笔宽度,别名turtle.width()
turtle.pencolor("blue")#海龟颜色
turtle.seth(-40)#或turtle.setheading改变海龟行进方向,只改变方向但不前进,这里是标准象限的-40°
for i in range(4):turtle.circle(40,80)#以海龟当前位置左侧某一个点为圆心circle(r,range),进行曲线运行
#turtle.circle(r,extent=None)根据半径r绘制extend角度(默认为360°)的弧形,圆心在海龟左侧r距离的位置上turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done()#避免程序自动结束
#turtle.goto(x,y)让海龟到达x,y处


2.10.2 random库

梅森旋转算法生成伪随机数
基本随机数函数
随机数种子,可以是整数或浮点数。
给了随机数种子,每次产生的随机数都是相同的。不使用随机数种子,它使用的是当前系统时间。
random产生0到1之间的随机数小数

主要包含的有9个随机函数,分别是:
seed(), random(), randint(), getrandbits(), randrange(), uniform(),choice() shuffle(), sample()

import random
random.seed(10)
print(random.random())
#结果:0.5714025946899135
import random
print(random.random())
#结果:0到1之间的随机数

random.randint(a, b)
生成一个[a, b]之间的随机整数
a:随机区间的开始值,整数。
b:随机区间的结束值,随机数包含结束值整数。

import random
print(random.randint(0, 100))
#随机返回一个1到100的整数,例如22,34,67,54

random.getrandbits(k)
生成一个k比特长度的随机整数。
k:长度的整数值

import random
print(random.getrandbits(10))
#比特长度为10的随机整数

random.randrange(start, stop[, step])
生成一个[start, stop]之间以step为步数的随机整数
start:随机区间的开始值,整数
stop:随机区间的结束值,随机数包含结束值,整数
step:随机区间的步长值,整数。步长值可选,如果不设定步长,默认步长为1

import random
print(random.randrange(0, 100, 2))
#返回一个0到100的随机偶数,整数.例如:22,46,88,48

random.uniform(a, b)
生成一个[a, b]之间的一个随机小数。
a:随机区间的开始值,整数或浮点数
b:随机区间的结束值,随机数包含结束值,整数或浮点数

import random
print(random.uniform(0, 10))
#返回一个0到10之间的随机小数(例如:8.519225050623398)

random.choice(seq)
从序列类型(例如列表)seq中随机返回一个元素
seq:序列类型,例如列表类型

import random
li = [1, 3, 5, 7, 9]
print(random.choice(li))
#随机返回一个列表li中的元素

random.shuffle(seq)
将序列类型seq中的元素随机排列,返回打乱后的序列(类比洗牌)
seq:序列类型,例如列表类型
调用该函数,序列类型seq将被改变

import random
li = [2, 4, 6, 8, 10]
random.shuffle(li)
print(li)
#返回一个乱序的列表li。例如:[4, 2, 10, 8, 6]

random.sample(pop, k)

从pop类型中随机选取k个元素,以列表的类型返回
pop:序列类型,例如列表
k:选取的个数,整数

import random
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
str = '人生苦短,我用python'
print(random.sample(li, 3))
print(random.sample(str, 2))'''
第一行,在列表li中随机选取三个元素
第二行在字符串str中随机选取两个元素
例如:
[1, 8, 6]
['人', 'p']
'''

圆周率的计算:

pi = 0
N = 100
for k in range(N):pi +=1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))
print("圆周率的值是:{}".format(pi))
from random import  random
from time import  perf_counter
DARTS = 1000*1000*10
hits = 0.0
start = perf_counter()
for i in range(1,DARTS+1):x,y = random(),random()dist=pow(x**2+y**2,0.5)if dist <=1.0:hits = hits+1pi=4*(hits/DARTS)print("圆周率值是:{}".format(pi))print("运行时间是:{:.5f}s".format((perf_counter()-start)))'''
圆周率值是:3.141466
运行时间是:116.17285s
圆周率值是:3.141466
运行时间是:116.17286s
圆周率值是:3.1414664
运行时间是:116.17286s
'''

2.10.3 time库



%D 年份月份和日期


时钟:

import tkinter
import time
def gettime():var.set(time.strftime("%Y/%m/%d %H:%M:%S"))#调用文本,在框里显示时间函数tk.after(1000,gettime)#1000指1秒,每隔一秒执行一次gettime
tk=tkinter.Tk()#生成root主窗口
tk.title("clock")#修改窗体的名字
var=tkinter.StringVar()#能自动刷新的字符串变量
b1=tkinter.Label(tk,textvariable=var,fg="blue",font=("黑体",80))#标签组件,显示字体
b1.pack()#将b1添加到root主窗口
gettime()
tk.mainloop()#进入消息循环

百分比计时:

import time
for i in range(101):print("\r{:3}%".format(i),end="")\r指打印之前,是光标退回行的行首。#end=的引号内是输出字符串之后的东西,为空,则不换行。time.sleep(0.1)

文本进度条:

import time
scale = 50
print("执行开始".center(scale//2,"-"))
stat = time.perf_counter()
for i in range(scale+1):a = '*'*ib = '.'*(scale-i)c = (i/scale)*100dur = time.perf_counter()-statprint("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end='')time.sleep(0.1)
print("\n"+"执行结束".center(scale//2,'-'))'''
-----------执行开始----------
100%[**************************************************->]5.05s
-----------执行结束----------进程已结束,退出代码为 0
'''

带滚动的文本进度条:

import time
scale = 10
print("-----执行开始-----")
for i in range(scale+1):a = '*'*ib = '.'*(scale-i)c = (i/scale)*100print("{:^3.0f}%[{}->{}]".format(c,a,b))time.sleep(0.1)
print("-----执行结束-----")'''
-----执行开始-----0 %[->..........]
10 %[*->.........]
20 %[**->........]
30 %[***->.......]
40 %[****->......]
50 %[*****->.....]
60 %[******->....]
70 %[*******->...]
80 %[********->..]
90 %[*********->.]
100%[**********->]
-----执行结束-----
'''

【python第一章 基础捋顺,第二章 python基础语法】相关推荐

  1. python语言程序设计2019版第二章课后答案-python语言程序设计基础课后答案第二章...

    python语言程序设计基础课后答案第二章 以下合法的用户自定义标识符是____________. 导入模块或者模块中的元素要使用关键字________ . 下列哪个函数是用来控制画笔的尺寸的____ ...

  2. 【QT开发笔记-基础篇】| 第二章 常用控件 | 2.12 表格控件 QTableWidget

    本节对应的视频讲解:B_站_链_接 QTableWidget 是 Qt 中的表格控件,可以行列的形式来展示数据 1. 属性和方法 QTableWidget 有很多属性和方法,完整的可查看帮助文档. 在 ...

  3. 2020年余丙森概率统计强化笔记-第一章 随机事件及其概率-第二章 一维随机变量及其分布

    文章目录 第一章 随机事件及其概率 第二章 一维随机变量及其分布 正态分布图形 第一章 随机事件及其概率 第二章 一维随机变量及其分布 笔记放在博客上,也是一种分布式操作了!!! 正态分布图形 图片来 ...

  4. 王式安概率论与数理统计基础课手写笔记-第一章概率与事件-第二章随机变量及其分布

    写在前面:做题还是要做的,但是课本上基础理论不能忘,比如每章前言,告知本章研究的内容及研究的方法.走过的路都算数. 文章目录 第一章 概率与事件 第二章 随机变量及其分布 第一章 概率与事件 第二章 ...

  5. python计算运动会某个参赛选手的得分。数据保存在文件中_Python基础教程之第二章---变量和字符串(1) 搬运...

    Python变量及其使用 无论使用什么语言编程,其最终目的都是对数据进行处理.程序在编程过程中,为了处理数据更加方便,通常会将其存储在变量中. 形象地看,变量就像一个个小容器,用于"盛装&q ...

  6. 第一 二章 计算机基础知识,[精品]第二章-计算机基础知识.doc

    [精品]第二章-计算机基础知识.doc (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 第二章计算机基础知识2.1将下列各二进制教转换 ...

  7. 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法

    第二章 java基础语法 1.java关键字 abstract boolean break byte case catch char class const continue default do d ...

  8. 计算机应用基础网上作业题第二章,计算机应用基础网上作业题.doc

    东北农业大学网络教育学院 计算机应用基础网上作业题(一) 第一章计算机操作入门 一.选择 1.多窗口的切换可以通过以下哪种操作来完成?[ ]√ A.在任务栏上右击鼠标 B关闭当前活动窗口 C.按Alt ...

  9. AIDE手机编程初级教程(零基础向) 第二章序言

    第二章 第一个游戏 系列教程导航 第二章序言 文章目录 前言 本章目标 第一个Java程序 后记 前言 在第一章里面,我们开发了自己的第一个应用.虽然我们开发这样的应用可能只要几分钟不到,但是它实在是 ...

最新文章

  1. java B2B2C源码电子商务平台-基于Consul的分布式锁实现
  2. 【Android 热修复】热修复原理 ( Dex 文件拷贝后续操作 | 外部存储空间权限申请 | 执行效果验证 | 源码资源 )
  3. 嵌入式linux如何下载程序,Linux平台的下载程序-嵌入式系统-与非网
  4. Firefox年内将默认启用AV1解码
  5. JAVA怎么将整数反转_【leetcode刷题】[简单]7.反转整数(reverse integer)-java
  6. python动态_python --动态类型
  7. zoj 2526(一道很好的最短路应用题)
  8. Qt工作笔记-Qt5新版信号与槽
  9. 大四课程设计之基于RFID技术的考勤管理系统(三)数据库设计
  10. 然后是几点 c语言,2-2. 然后是几点
  11. .net post的参数如果出现乱码如何解决!
  12. php 微信机器人_php7 版本的微信机器人来了!(这应该是最灵活的版本了)
  13. oracle 12c中文手册,oracle Database12c 官方手册:《Oracle Database12c DBA官方手册(第8版)》.pdf...
  14. Office在线协作(三)- O2OA连接本地部署的OnlyOffice Docs Server服务器 For Windows Server
  15. 计算机信息安全管理实验教程答案,“信息安全”课程习题及参考答案
  16. 银行大数据风控管理针对哪些应用场景?
  17. java学习——方法
  18. servlet+mysql实现的学生评教系统(角色:学生、教师、管理员 功能:评教、修改密码、评教规则管理、评教结果查看、学生管理、教师管理、班级管理、学生信息、评教结果可视化展示等)
  19. pygal画世界地图
  20. 以太坊交易信息及event、input、logs、topics等概念机制

热门文章

  1. projects from git 和 projects from git(with smart import)区别
  2. c语言任伟,任 伟
  3. Linux虚拟机不显示IP地址的三种解决方法
  4. docker下安装typecho建立自己得博客系统(1)dockerfile篇
  5. 男人至少的道德底线(男女都该看)
  6. 视频号扩展链接一键转换
  7. package.json字段详解
  8. 自行车改装电动车怎么样_电动车听起来应该是什么样?
  9. 数据结构笔记正式版8――手写
  10. 基于身份的常数级环签名