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

一、ptyhon安装


  windows

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

  linux、Mac

  1. 无需安装,原装Python环境
  2.  
  3. ps:如果自带2.,请更新至2.

二、Hello World程序


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

  1. print("Hello World!")

指定解释器

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

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

  1. #!/usr/bin/env python
  2.  
  3. print("Hello World!")

三、变量\字符编码                                                                                                                                         


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

声明变量

  1. #_*_coding:utf-8_*_
  2.  
  3. 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】

变量的赋值

  1. name = "abu Zhang"
  2.  
  3. name2 = name
  4. print(name,name2)
  5.  
  6. name="jack"
  7.  
  8. 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。

五、用户输入                                                                                                                               


 

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

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

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

六、模块初识                                                                                                                           


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

sys

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

os

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

七、数据类型初识


1、数字

  1. 2是一个整数的例子
  2. 长整数不过是大一些的整数。
  3. 3.2352.3E-4是浮点数的例子。E标志表示10的幂。在这里,52.3E-4表示52.3*10-4
  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语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开闭空间,万恶的+号每出现一次就会在内存中重新开辟一块空间。

字符串格式化输出

  1. name = "abu"
  2. print("i am %s ",name)
  3.  
  4. #输出:i am abu

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

字符串常用功能:

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

4、列表

  创建列表:

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

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

基本操作:

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

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

创建元组:

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

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

6、字典(无序)

创建字典:

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

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

常用操作:

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

八、数据运算                                                                                                                     


数学运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算符优先级:

更多内容:猛击这里

九、表达式if ... else


场景一、用户登录认证

  1. #提示输入用户名和密码
  2. #验证输入用户名和密码
  3. #如果认证错误,则输出用户名或密码错误
  4. #如果成果,则输出,欢迎,XXX登陆
  5.  
  6. _username = "abu"
  7. _passwd = "dev.dev."
  8.  
  9. username = input('请输入用户名:')
  10. passwd = input('请输入密码:')
  11. if _username == username and _passwd == passwd:
  12. print("欢迎%s登陆"%(username))
  13. else:
  14. print("你输入的用户名或密码错误,请重新输入。")

场景二、猜年龄游戏

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

  1. count = 0
  2. abu_age = 23
  3. while True:
  4. count += 1
  5. abu_age_input = int(input("请输入你猜的岁数:"))
  6. if abu_age == abu_age_input:
  7. print("恭喜你猜对了。")
  8. elif abu_age < abu_age_input:
  9. print("你猜错了,往小了猜试下。")
  10. else:
  11. print("你猜错了,往大了猜试下。")

十、表达式for循环


最简单的循环10次

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

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

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

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

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

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

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

十一、while loop


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

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

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

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

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

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

  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. my_age = 28
  5.  
  6. count = 0
  7. while count < 3:
  8. user_input = int(input("input your guess num:"))
  9.  
  10. if user_input == my_age:
  11. print("Congratulations, you got it !")
  12. break
  13. elif user_input < my_age:
  14. print("Oops,think bigger!")
  15. else:
  16. print("think smaller!")
  17. count += 1 #每次loop 计数器+1
  18. else:
  19. 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. heap_sort

    (from wikipedia) 构建步骤: 建成一个大顶堆 第一个元素依次和最后一个元素交换,由于交换后新的堆顶元素可能违反大根堆的性质,因此需要对当前无序区(1,2,...,n-1)调整为新堆 不 ...

  2. 博弈论初步(SG函数)

    讲解见此博客https://blog.csdn.net/strangedbly/article/details/51137432 理解Nim博弈,基于Nim博弈理解SG函数的含义和作用. 学习求解SG ...

  3. python 两个 list 获取交集,并集,差集的函数

    1. 获取两个 list 的交集 a = [1, 2, 3, 4] b = [1, 2, 5] print(list(set(a).intersection(set(b)))) 2. 获取两个 lis ...

  4. 搜索引擎中index、attribute和summary概念

    index:倒排索引 attribute: 正排索引 summary:数据集合,用于数据结果展示.

  5. AES

    ES算法之理论与编程结合篇 1 前言 AES是现在使用最多的对称密钥分组密码算法,在逆向的过程中经常碰到,这几天处于离职期,有点时间,于是乎想细细的来研究一下它的原理,也算是离职的一个纪念吧. 网上的 ...

  6. 面试北京XX数通总结

    软件架构师何志丹 1             总括 1.1     面试时间 2019年1月21号. 1.2     公司概况 员工近20人,其中开发人员6人,全部objectarx(C++),全部老 ...

  7. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  8. linux服务器开机启动tomcat

    程序自启动脚本实质上就是一个shell脚本.以简单的Tomcat自启动脚本为例,Tomcat使用安装目录下的startup.sh启动.shutdown.sh停止,我们可以把它们写到一个启动脚本里. 1 ...

  9. 爬取字段 spider_text

    __author__ = 'sus'import urllibimport urllib2import re def getPage(url):        #获取网页 request = urll ...

  10. 数据结构复习之Vector

    /** * The number of times this list has been <i>structurally modified</i>. * Structural ...