Python Day1 Learning record(python第一天学习记录)

一、ptyhon安装


  windows

 、下载安装包
https://www.python.org/downloads/
、安装
默认安装路径:C:\python27
、配置环境变量
【右键计算机】--》【属性】--》【高级系统设置】--》【高级】--》【环境变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 分割】
如:原来的值;C:\python27,切记前面有分号

  linux、Mac

 无需安装,原装Python环境

 ps:如果自带2.,请更新至2.

二、Hello World程序


在linux下创建一个文件叫hello.py,并输入

 print("Hello World!")

指定解释器

上一步中执行python hello.py时,明确的指出hello.py脚本由python解释器来执行,

如果想要类似执行shell脚本一样执行python脚本,那么久需要在hello.py文件头部指定解释器,如下:

 #!/usr/bin/env python

 print("Hello World!")

三、变量\字符编码                                                                                                                                         


变量用于存储在计算机程序中引用和操作的信息。它们还提供了一种用描述性名称对数据进行标记的方法,这样我们的程序就可以更清楚地被读者和我们自己理解。把变量看作容纳信息的容器是有帮助的。他们唯一的目的是在内存中标记和存储数据。然后可以在整个程序中使用这些数据。

声明变量

 #_*_coding:utf-8_*_

 name = "abu Zhang"

上述代码声明了一个变量,变量名为: name,变量name的值为:"abu Zhang"

变量定义的规则:

  • 变量名只能是字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名

  【and, as, assert, class, continue, dep, dell, elip, else, except, exec, fnally, for, from, global, ip, import, in, is, lambda, not, or ,pass, print, raise, return, try, while, yield】

变量的赋值

 name = "abu Zhang"

 name2 = name
print(name,name2) name="jack" print("what is the value of name2 now?")

四、字符编码                                                                                                                                                                                         


python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascill码)

ASCII(American standard code for information interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用8位来表示一个字节,即:2**8 = 256-1,所以,ASCII码最多只能表示255个符号。

关于中文

  为了处理汉子,程序员设计了用于简体中文的GB2312和用于繁体中文的big5.

  GB2312(1980年)一个收录了7445个字符,包括6763个汉子和682个其它符号。汉子区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768,。其中有5个空位是D7FA-D7FE。

五、用户输入                                                                                                                               


 

 #Author:abu zhang
#_*_coding:utf-8_*_
name = input("what is your name?")
print("Hello ", name)

输入密码时,如果想要不可见,需要利用getpass模块中的getpass方法,即:

 #!/usr/bin/env python
# -*- coding: utf-8 -*- import getpass # 将用户输入的内容赋值给 name 变量
pwd = getpass.getpass("请输入密码:") # 打印输入的内容
print(pwd)

六、模块初识                                                                                                                           


Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有想要的python库支持,以后的课程中会深入讲解常用到的各种库,现在,我们先来象征性的学2个简单的。

sys

 #!/usr/bin/env python
# -*- coding: utf-8 -*- import sys print(sys.argv) #输出
$ python test.py helo world
['test.py', 'helo', 'world'] #把执行脚本时传递的参数获取到了

os

 #!/usr/bin/env python
# -*- coding: utf-8 -*- import os os.system("df -h") #调用系统命令

七、数据类型初识


1、数字

2是一个整数的例子
长整数不过是大一些的整数。
3.23和52.3E-4是浮点数的例子。E标志表示10的幂。在这里,52.3E-4表示52.3*10-4。
(-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4位实数,j为虚数,数学中表示复数是什么?

int(整型) 

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

  在64位机器上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)
  跟C语言不通,python的长整数没有指定位宽,即:python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数值不可能无限大。
  注意,自从python2.2起,如果整数发生溢出,python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字幕L也不会导致严重后果了。
 
float(浮点型)
  浮点数用来处理实数,即带有小数的数字。类似C语言中的double类型,占8个字节(64位),其中52位表示低,11位表示指数,剩下的以为表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x + yj,其中的x是负数的实数部分,y是负数的虚数部分,这里的x和y都是实数。
注:python中存在小数字池-5 ~257
 
2、布尔值
  真 或 假
  1 或 0

 3、字符串

   “hello world”

万恶的字符串拼接:

  python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开闭空间,万恶的+号每出现一次就会在内存中重新开辟一块空间。

字符串格式化输出

 name = "abu"
print("i am %s ",name) #输出:i am abu

PS:字符串是%s;整数%d;浮点数%f

字符串常用功能:

  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片

4、列表

  创建列表:

 name_list = ['alex','abu','jack']

name_list = list(['alex','abu','jack'])

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 循环
  • 包含

5、元组(相当于不可改变的列表)

创建元组:

 ages = (11,22,33,44,55)

ages = tuple((11,22,33,44,55))

6、字典(无序)

创建字典:

 person = {"name":"abu.zhang","age":""}

person = dict({"name":"abu.zhang","age":""})

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度

八、数据运算                                                                                                                     


数学运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

更多内容:猛击这里

九、表达式if ... else


场景一、用户登录认证

 #提示输入用户名和密码
#验证输入用户名和密码
#如果认证错误,则输出用户名或密码错误
#如果成果,则输出,欢迎,XXX登陆 _username = "abu"
_passwd = "dev.dev." username = input('请输入用户名:')
passwd = input('请输入密码:')
if _username == username and _passwd == passwd:
print("欢迎%s登陆"%(username))
else:
print("你输入的用户名或密码错误,请重新输入。")

场景二、猜年龄游戏

在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

 count = 0
abu_age = 23
while True:
count += 1
abu_age_input = int(input("请输入你猜的岁数:"))
if abu_age == abu_age_input:
print("恭喜你猜对了。")
elif abu_age < abu_age_input:
print("你猜错了,往小了猜试下。")
else:
print("你猜错了,往大了猜试下。")

十、表达式for循环


最简单的循环10次

 for i in range(10):
print("loop:",i) loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

 for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:",i)

这里只要使用的是countinue   跳过本次循环,继续下一次循环

需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出

 for i in range(10):
if i>5:
break #不往下走了,直接跳出整个循环
print("loop:",i)

这里只要使用的是break  ,i小于5的时候就走,i大于5的时候就退出循环了

十一、while loop


有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

 count = 0
while True:
print('你是风儿我是沙,缠缠绵绵到天涯...',count)
count +=1

其实除了时间,没有什么是永恒的,死loop还是少写好

上面的代码循环100次就退出好吧

 count = 0
while True:
print('你是风儿我是沙,缠缠绵绵到天涯...',count)
count +=1
if count == 100:
print('去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人。。')
break

回到上面for 循环的例子,如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。

 #!/usr/bin/env python
# -*- coding: utf-8 -*- my_age = 28 count = 0
while count < 3:
user_input = int(input("input your guess num:")) if user_input == my_age:
print("Congratulations, you got it !")
break
elif user_input < my_age:
print("Oops,think bigger!")
else:
print("think smaller!")
count += 1 #每次loop 计数器+1
else:
print("猜这么多次都不对,你个笨蛋.")

Python_day1 Learning record的更多相关文章

  1. Python Day2 Learning record

    一.python初始化模块                                                        Python的强大之处在于他有非常丰富和强大的标准库和第三方库 ...

  2. USB相关知识

    USB基础知识概论 如何实现Linux下的U盘(USB Mass Storage)驱动: How to WriteLinux USB MSC (Mass Storage Class) Driver U ...

  3. 【编程语言】Matlab 学习记录

    title: Matlab Learning Record date: 2020-05-23 20:11:26 author: liudongdong1 img: https://gitee.com/ ...

  4. Machine Learning

    Recently, I am studying Maching Learning which is our course. My English is not good but this course ...

  5. (转) Deep Learning Research Review Week 2: Reinforcement Learning

      Deep Learning Research Review Week 2: Reinforcement Learning 转载自: https://adeshpande3.github.io/ad ...

  6. (转)WHY DEEP LEARNING IS SUDDENLY CHANGING YOUR LIFE

    Main Menu Fortune.com       E-mail Tweet Facebook Linkedin Share icons By Roger Parloff Illustration ...

  7. IMS Global Learning Tools Interoperability™ Implementation Guide

    Final Version 1.1 Date Issued:            13 March 2012 Latest version:         http://www.imsglobal ...

  8. Introduction to Machine Learning

    Chapter 1 Introduction 1.1 What Is Machine Learning? To solve a problem on a computer, we need an al ...

  9. (转)The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)

    Adit Deshpande CS Undergrad at UCLA ('19) Blog About The 9 Deep Learning Papers You Need To Know Abo ...

随机推荐

  1. zookeeper调试命令

    转载自 https://www.cnblogs.com/andy6/p/7674028.html 一.zkServer.sh 1.查看 zkServer.sh 帮助信息[root@bigdata05 ...

  2. 2018.11.30开始学习shader

    学习资料: 乐乐女神的<unity Shader入门精要>

  3. 一梦江湖费六年——QQ群聊天分析

    本文结构: 一.那些年我们加过的QQ群 二.数据读入和整理(一)--来自蓝翔的挖掘机 二.数据读入和整理(二)--你不知道的事 三.聊天宏观(1)--寤寐思服 三.聊天宏观(2)日月篇 三.聊天宏观( ...

  4. windows 根据端口查看进行PID 并杀掉进程

    1. 首先用netstat -ano | find “端口号”查出进程号 明明有端口号是17568和18892, 如何确定是17568呢 2. takslist 查询当前的进行 3. 如何杀死进程呢  ...

  5. java笔记 -- java字符串

    概念: Java字符串就是Unicode字符序列, Java没有内置的字符串类型, 而是在标准Java类库中提供了一个预定义类. 每个用双引号括起来的字符串都是String类的一个实例.String ...

  6. toFixed()精度丢失;复选框全选、取消

    一.精度丢失和重写toFixed()函数 1.重写toFixed() Number.prototype.toFixed = function(length){ var carry = 0; //存放进 ...

  7. git设置用户名和邮箱

    用git config --global user.name "your name"命令来设置你的用户名 用git config --global user.email " ...

  8. 数模美赛准备——我的第一个LaTex文档

    软件下载地址:清华大学镜像网站(点击下载) https://mirrors.tuna.tsinghua.edu.cn/ctex/legacy/2.9/ 上述网站页面 根据个人需求下载不同的版本安装完成 ...

  9. 微信小程序分享及信息追踪

    我就是个搬用工—来源:https://www.jianshu.com/p/87a75ec2fd53 小程序分享群及信息追踪 需求 页面分享 ​ 小程序页面分享链接增加source参数,值为用户ID加密 ...

  10. linux逻辑卷管理(LVM)

    1. 逻辑卷(LVM)的原理 LVM(Logical Volume Manager)逻辑卷管理 是在物理磁盘和文件系统的之间添加一个逻辑层,通过对底层物理磁盘的封装,以逻辑卷的方式呈现给上层应用,通过 ...