# 01讲
- Windows下执行程序,必须加 PYTHON。在LINUX下,可以不指明是PYTHON。但是,执行钱许给予hello.py执行权限。
- 其次,只要变成可执行程序,必须第一行事前申明解释器 #!/usr/bin/env python, 告诉操作系统用何方世解释。
- 另种,#!/usr/bin/ python (不要用这个) env 是选择环境 #!/usr/bin/env python执行的是linux里,你自己新安装的3.5版本;#!/usr/bin/ python执行的linux里的老版本,2.0版本的
-退出 exit()
-
# 02讲
- 修改默认的pycharm位置:
视图-工具栏-工具-编辑器-python script中输入就可以
-变量定义的规则:
1. 变量名只能是 字母、数字或下划线的任意组合(如gf_of_oldboy;中间放下划线)
2. 变量名的第一个字符不能是数字
以下关键字不能声明为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
-字符编码
1、python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)
2、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。
3、显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode
-Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
- UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
-发展史
ascii 255 1bytes
--> 1980 gb2312
--> 1995 gbk1.0 2w+
--> 2000 GB18030 27xxx
-->unicode 2bytes
-->utf-8 en:1byte zh:3bytes
- python2中需要添加 # -*- config:utf-8 -*-才能写中文
- 注释
当行注视:# 被注释内容
多行注释:""" 被注释内容 """
- 输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass(需要输入)
# 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:")
# 打印输入的内容
print(pwd)
- #IndentationError:为缩进错误
-
- 加入断点调试---左键点击首行的位置(出现红点)--点击工具栏的调试可进行逐行调试
-
# 模块初始
1. sys模块
import sys
#print(sys.path) #打印环境变量
print(sys.argv) #打印相对路径
print(sys.argv[2]) #打印第二个值,从0开始
- python sys_01.py 1 2 3打印出 ['sys_01.py', '1', '2', '3']
'''
2. os模块
import os
#a = os.system("dir") #执行命令,不保存结果
a = os.popen("dir").read() #读取结果
print(a)
os.mkdir("new.dir") #新建目录
# pyc
1、Python是一门先编译后解释的语言。
2、pyc文件其实是PyCodeObject的一种持久化保存方式。
# 数据类型
- 数字 int(整型) float(浮点型) complex(复数)
- 布尔值 真或假 1 或 0
- type 查看数据类型
- 字符串
True and 1 为真
Flaue and 0 为假
-字符串是 %s;整数 %d;浮点数%f
- 以下实例演示了Python所有位运算符的操作:
实例(Python 2.0+)
#!/usr/bin/python # -*- coding: UTF-8 -*- a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0 c = a & b; # 12 = 0000 1100 print "1 - c 的值为:", c c = a | b; # 61 = 0011 1101 print "2 - c 的值为:", c c = a ^ b; # 49 = 0011 0001 print "3 - c 的值为:", c c = ~a; # -61 = 1100 0011 print "4 - c 的值为:", c c = a << 2; # 240 = 1111 0000 #代表左边的数乘以2的2字方 print "5 - c 的值为:", c c = a >> 2; # 15 = 0000 1111 #代表左边的数除以2的右边数的立方 print "6 - c 的值为:", c
以上实例输出结果:
1 - c 的值为: 12 2 - c 的值为: 61 3 - c 的值为: 49 4 - c 的值为: -61 5 - c 的值为: 240 6 - c 的值为: 15
- python中会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同)。如执行a=2.0,b=2.0这两个语句时会先后为2.0这个Float类型对象分配内存,然后将a与b分别指向这两个对象。所以a与b指向的不是同一对象:
a=2.0 b=2.0 a is b # 结果为False a == b # 结果为True
但是为了提高内存利用效率对于一些简单的对象,如一些数值较小的int对象,python采取重用对象内存的办法,如指向a=2,b=2时,由于2作为简单的int类型且数值小,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:
a=2 b=2 a is b # 结果为True a == b # 结果为True
如但果赋值的不是2而是大的数值,情况就跟前面的一样了:
a=4444 b=4444 a is b # 结果为False a == b # 结果为True
这里 is 和 == 类似编译原理中传值与传地址。又或者说是 is 只是传递的指针,判断是否指向同一个地址块,这样 is 两边的参数指向内存中同个地址块,毕竟我家电视跟你电视不是同一个东西。而 == 则是仅仅判断值相同
如果变量写在同一行,将会指向同一个对象
>>> a=4444; b=4444; # 写在同一行 >>> a is b True >>> a == b True >>> c = 5555 # 写在不同一行 >>> d = 5555 # 写在不同一行 >>> c is d False >>> c == d True >>>
以上情况在交互模式会出现,使用脚本运行,不管是否同一行,都是指向同一个地址:
# -*- coding: utf-8 -*- a = 4444; b = 4444 print(a is b) # true c = 5555 d = 5555 print(c is d) # true
计算机中能表示的最小单位,是一个二进制位
计算机中能存储的最小单位,是一个二进制位(bit)
- bytes数据类型
如果条件为真:result = 值1
如果条件为假:result = 值2
三、进制
msg = "我爱天安门"
print(msg)
print(msg.encode(encoding="utf-8"))#将string数据类型转成byte数据类型
print(msg.encode(encoding="utf-8").decode(encoding="utf-8")) #将byte数据类型转成string
- python之路:Day01 --- Python基础1
本节内容 1.Python介绍 2.发展史 3.变量 4.用户输入 5.表达式 if...else语句 6.表达式 for 循环 7.表达式 while 循环 8.模块初识 9.数据类型初识 10.数 ...
- Day01 - Python 基础介绍
1 Python 简介 1.1 Python 的由来 Python的创始人:吉多·范罗苏姆(Guido van Rossum) 1989年,吉多·范罗苏姆为了在阿姆斯特丹打发圣诞节假期时间,开发的一个 ...
- [Day01] Python基础
明天要完成的任务如下: Python 四则运算 Python 数据结构 Python 元算符(in.not in.is.and.or) 用户输入 (input.raw_input) 流程控制 缩进 ...
- python day-01 (python基础知识1)
1.计算机组成(参与运算的) 主板+CPU+内存 2.python 简史 解释型语言,弱类型语言(eg:a 可以表示很多意思 a=1 或 a = “小红”) 3.数据类型: int(整数类型): ...
- 实训day01 python基础
一.编程语言 编程语言:可以被计算机所识别的表达方式. 编程:程序员通过编程语言将自己的想法编写出来,产生的结果就是包含字符的文件. 其中,只有程序在运行时,其中的字符才有特定的语法意义. 二.计算机 ...
- Python基础-day01
写在前面 先后接触过很多编程语言,最喜欢的就是C和Python,相比其他语言,C 是神器,优点太多了:个人而言,C 最重要的一点就是能够让你在敲代码的时候是以一个计算机科学家的角度去思考,而不是仅仅停 ...
- Python学习--21天Python基础学习之旅(Day01、Day02)
21天的python基础学习,使用<Python从入门到实践>,并且需要手敲书中的code,以下为整个学习过程的记录. Day01: 安装python时要选择复选框 Add Python ...
- 第一模块:python基础语法
Python基础[day01]:python介绍发展史(一) Python基础[day01]:Hello World程序(二) Python基础[day01]:表达式if ...else语句(三) P ...
- Python基础-day02
写在前面 上课第二天,打卡: 大人不华,君子务实. 一.进制相关 - 进制基础 数据存储在磁盘上或者内存中,都是以0.1形式存在的:即是以 二进制 的形式存在: 为了存储和展示,人们陆续扩展了数据的表 ...
- 【转】Python基础语法
[转]Python基础语法 学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组 ...
随机推荐
- react里面 react-router4 跳转
在react里面跳转的时候,一般可以用 <Link to='/tradeList' /> 但是我们在运用组件组合的时候经常会通过传参去判断,如果props传过来是参数,如果有link进行跳 ...
- xrdp 安装后 WINDOWS远程登录出错
xrdp需要vnc作为基础服务, sudo apt-get install tightvncserver 树莓派上这个命令运行下再连就好了
- mycat特点及用途
Mycat关键特性 关键特性 支持SQL92标准 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理. 基于心跳的自动故障切换,支持读写分离,支持MySQL主从,以及galera clu ...
- angular2中一种换肤实现方案
思路:整体思路是准备多套不同主题的css样式.在anguar项目启动时,首先加载的index.html中先引入一套默认的样式.当我们页面有动作时再切换css. 可以通过url传参触发,也可以通过bu ...
- mysql存储问题
为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql中遇到的一些commen sense类 ...
- BZOJ1061: [Noi2008]志愿者招募(线性规划)
Time Limit: 20 Sec Memory Limit: 162 MBSubmit: 5725 Solved: 3437[Submit][Status][Discuss] Descript ...
- 【动态规划 floyd】SPOJ ACPC13
为什么rzz会把这题放在NOI模拟赛的T2? 题目大意 有一张$n$个点$m$条边的有向图,每条边有权值$w_i$. 定义一个任务$(a_i,b_i,c_i)$是如下一条路径: 最多经过$c_i$条边 ...
- js开发中常用小技巧
1.获取指定范围内的随机数 function getRadomNum(min,max){ return Math.floor(Math.random() * (max - min + 1)) + mi ...
- 两种查看SIP版本的方法python
第一种:进入python命令行 print(sip.SIP_VERSION_STR) 注意对应的PyQt版本号和大小写 print(PyQt5.sip.SIP_VERSION_STR) 第二种:直接在 ...
- POJ 1854 贪心(分治)
Evil Straw Warts Live Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 1144 Accepted: ...