第一个PYTHON代码

交互式编程它不需要创建脚本文件,是直接通过 Python 的解释器的交互模式进来编写代码。如下图所示(win7操作)

下图为一个Python代码内部执行图,可以有助于理解python整个过程

 1 C:\Users\miao>python -V
 2 Python 2.7.10
 3
 4 C:\Users\miao>python
 5 Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on wi
 6 n32
 7 Type "help", "copyright", "credits" or "license" for more information.
 8 >>> print 'Hello,World!'
 9 Hello,World!
10 >>>exit()

通过创建脚本文件,先编译一个文本文件,文件后缀名为.py (注:txt结尾的文件也是可以运行的,但是它在运行后不会生成pyc格式的文件,这样的话如果用户想调用这个程序就不能了)

.pyc速度快,如果.py内容修改,则先执行.py.然后生成.pyc执行

编写内容如下:

1 #!/usr/bin python
2 #-*- coding:utf-8 -*-
3
4 print 'hello,world'
5 print '你好,世界!'

执行结果如下:

1 E:\软件\python\class_test\days1>python hello.py
2 hello,world
3 你好,世界!

python引导\注释

Python 中字符串可以使用单引号( ' ) ,双引号( " ),三引号('''  ''') 来表示,引号的开始与结束必须使用相同的类型。
其中三引号也可以做为注释使用。

1 #!/usr/bin python
2 #-*- coding:utf-8 -*-
3
4 print 'hello,world'
5 print "hello,world"
6
7 '''
8 print '你好,世界!'
9 '''

执行结果如下:

1 E:\软件\python\class_test\days1>python hello.py
2 hello,world
3 hello,world

从上面可以看出因为我们注释掉了"你好,世界!",所以程序在执行时,没有把它打印出来

三个引号也可以做为换行使用,如下:

 1 >>> print '''
 2 ... a
 3 ... b
 4 ... c
 5 ... d
 6 ... '''
 7
 8 a
 9 b
10 c
11 d
12
13 >>>

字节码

三种编码类型:ASCII,UNICODE,UTF-8

PYTHON3.0以前默认使用ASCII,如果里面含有汉字,我们在写代码时,可以在上面顶行写一个编码声明:

# -*- coding:utf-8 -*-

PYTHON3.0以后,默认使用UTF-8

变量声明与赋值

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 name = "alex"

如下面这个例子:

 1 >>> name1='wupeiqi'
 2 >>> name2=name1
 3 >>> name1
 4 'wupeiqi'
 5 >>> name2
 6 'wupeiqi'
 7 >>> name1='123'
 8 >>> name1
 9 '123'
10 >>> name2
11 'wupeiqi'
12 >>>

变量name1,我们赋予它值'alex'后,它会在内存中开辟一块区域用来存储这个字符串,如果我把变量name2的值赋予name1,虽然它们的结果是一样的,其实它们应该在内存是两块区域,只是PYTHON对它们进行了一个优化,设了一个共享池,它会把同样的值,用的频率高的值放到一个小池子里,方便用户对它的调用.而不用每次读取磁盘.同时还可以加快响应速度

如果是集合的话,name是会跟着变的
C语言里面是没有字符串的,有字符
hello --五个字符组成
C语言中是由字符数组['h','e',...'o']
字符串特性:一旦修改,重新创建
'hello'+'sb'+'alex'
'hello'+
'hello'+'sb'+
'hello'+'sb'+'alex'
python有一个垃圾回收机制,python虚拟机,它会自动清理,我们不用关心

用户交互

这里用到一个参数:raw_input,我们来看下面的例子

1 #!/usr/bin env python
2 #-*- coding:utf-8 -*-
3
4 name = raw_input("请输入用户名: ") 

我们执行这个文件,看一下结果

1 E:\软件\python\class_test\days1>python flow_control_1.py
2 请输入你的名字: 你好

模块调用

import

看如下两个例子:

例一:#!/usr/bin env python
#-*- coding:utf-8 -*-import sys
#捕获参数
print sys.argv执行
E:\软件\python\class_test\days1>python capture_parameter.py localhost:8001
['capture_parameter.py', 'localhost:8001']例二:
#!/usr/bin python
#-*- coding:utf-8 -*-import getpass
pwd = getpass.getpass(">>>")
print pwd执行
E:\软件\python\class_test\days1>python capture_parameter.py
>>>
123E:\软件\python\class_test\days1>python capture_parameter.py
>>>
wo de mi ma

流程控制

用的两个判断语句:if ... else

if ... elif ....elif...else

可以参考如下两个例子:

例一:
#!/usr/bin env python
#-*- coding:utf-8 -*-if name == 'alex':  print '你猜对了'
else:print '你输入的是啥啊?' 例二:
#!/usr/bin env python
#-*- coding:utf-8 -*-#if  else

name = raw_input("请输入你的名字: ")
if name == 'eric':print '普通'
elif name == 'tony':print '超级'
elif name == 'alex':print '超神'
else:print '你输入错误'

数据类型
两部分:
    1.单值
                数字 
                    整型: 如3714
                    长整型:特别大的一个整数
                python自动来判断整型,长整型
                    浮点型:如3.14
                    复数:z = a + bj
布尔值:True,False
            字符串
 1 >>> name = 1314
 2 >>> print type(name)
 3 <type 'int'>   ===>整型
 4 >>> name = 1.314
 5 >>> print type(name)
 6 <type 'float'>  ===>浮点型
 7 >>> 1=2
 8   File "<stdin>", line 1
 9 SyntaxError: can't assign to literal
10 >>> name1 =5
11 >>> name2 = 6
12 >>> name1 < name2
13 True           ===>布尔值
14 >>> name1 > name2
15 False

2.集合

             -----列表
name_list = ['alex','seven','eric']
或
name = list( ['alex','seven','eric'] )
例如:
>>> name_list[0]
'alex'
>>> name_list[-1]
'eric'
1 >>> name = ['wo','ai','ni']
2 >>> print type(name)
3 <type 'list'>    ===>列表

-----元组

4 >>> ages = (11,22,33)
5 >>> print type(ages)
6 <type 'tuple'>  ===>元祖

-----字典、  哈希表

每个键与值用冒号隔开(:),每对用逗号分割,整体放在花括号中({})。

键必须独一无二,但值则不必。

值可以取任何数据类型,但必须是不可变的,如字符串,数或元组。

 1 #!/usr/bin/env python
 2 #-*- utf-8 -*-
 3
 4 person = {'name':'alex','age': 18,'gender': 'erci'}  ---->字典里面一个元素  .每一个元素都是由一个键值对组成
 5
 6 person['age'] = 20    ---》修改字典
 7 person['love'] = 'women'  ---》添加字典键值对
 8 del person['name']   ---》删除字典键值对
 9
10 print 'age is:',person['age']
11 print 'love is:',person['love']
12 print person  

结果如下:

1 E:\软件\python\class_test\days1>python dict.py
2 age is: 20
3 love is: women
4 {'gender': 'erci', 'age': 20, 'love': 'women'}

注:列表与元祖的区别
1.元祖不可修改,列表可修改
2.对于切片来说,元祖也是可以执行的
3.元祖不可以增加,修改
4.元祖是括号()表示,列表用中括号[]表示

字符串格式化

%s:字符串  %d:数字

例子如下:

 1 name = 'i am %s' % 'alex'
 2 方式一:
 3 >>> name = 'i am %s,age %d' %('alex',63)
 4 >>> name
 5 'i am alex,age 63'
 6 方式二:
 7 >>> name = 'i am %s,age %d'
 8 >>> name %('alex',76)
 9 'i am alex,age 76'
10 方式三:
11 >>> name = 'i am {0},age{1}'
12 >>> name.format('alex',73)
13 'i am alex,age73'

方式一与方式二是一样的,方式一执行时实际调用的是方式三.

字符串是一个字符数组

索引(也叫下标)

我们先看一下这个例子:

 1 >>> name = 'alex'
 2 >>> name[0]
 3 'a'
 4 >>> name[1]
 5 'l'
 6 >>> name[2]
 7 'e'
 8 >>> name[3]
 9 'x'
10 >>> name[1:3] -->  这个3是不包含3的,是小于3的,<3
11 'le'
12 >>> name[0:] --> 表示到结尾
13 'alex'
14 >>> name[1:]
15 'lex'
16 >>> name[-1:] -->负1表示最后一个
17 'x'

查看一个字符串的长度:print len(name)

注意:下标是从0开始

去除空格 

我们这里用到这个strip参数,直接看下面的例子:

 1 print name.strip() -->去掉两头空格
 2 print name.lstrip() -->去掉左边空格
 3 print name.rstrip() -->去掉右边空格
 4 例如:
 5 >>> print name.strip()
 6 alex
 7 >>> print name.lstrip()
 8 alex
 9 >>> print name.rstrip()
10    alex

列表增加元素的方法

定义:列表1     name_list1= ['alex','seven','eric']

定义:列表2     name_list2 =name_list1

1 >>> name_list1= ['alex','seven','eric']
2 >>> name_list2 = name_list1
3 >>> name_list1
4 ['alex', 'seven', 'eric']
5 >>> name_list1.append('miao')
6 >>> name_list1
7 ['alex', 'seven', 'eric', 'miao']
8 >>> name_list2
9 ['alex', 'seven', 'eric', 'miao']

通过上面我们可以看到:列表是可以增加的,并且列表2会随着列表1的变化而变化.而字符串是和这个不同的

分割与合成

我们这里用一个参数split和join,例子如下:

 1 >>> name = 'zhongsguo'
 2 #把字符串分割成列表
 3 >>> name.split('s')
 4 ['zhong', 'guo']
 5 >>> name1 = name.split('s')
 6 >>> name1
 7 ['zhong', 'guo']
 8 #把列表合并成字符串
 9 >>> name2 = '_'.join(name1)
10 >>> name2
11 'zhong_guo'

几个小的注意点:
str字符串:新加后重新开辟空间
list列表:  修改后,引用地址不变
tuple元祖: 不允许修改
循环
一、for ...in....
1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3
4 name_list = ['alex', 'xiaoyueyue', 'wenqiang']
5 for ele in name_list:
6     print ele

二、加if条件的循环

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3
4 name_list = ['alex', 'xiaoyueyue', 'wenqiang']
5 for ele in name_list:
6     if ele == "xiaoyueyue":
7         print "find"

三、如果我们要中断跳出整个循环,可以用break

1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3
4 name_list = ['alex', 'xiaoyueyue', 'wenqiang']
5 for ele in name_list:
6     if ele == "xiaoyueyue":
7         print "find"
8         break

四、如果我们要跳出当前条件的for循环,可以用continue

1 name_list = ['alex','yue','xiang']
2 for ele in name_list:
3     if ele == 'qyue':
4         print '找到你了'
5         continue       --->如果第一个没有找到,重新开始执行找第二个
6     if ele == 'alex':
7         print 'sp'
8         break

五、if...elif...else...嵌套循环

 1 #!/usr/bin env python2 #-*- coding:utf-8 -*-3 4 name1 = 'alex'5 name2 = 'eric'6 test = raw_input("请输入你的名字: ") 7 8 if test == name1:  9     print '你输入的名字是:',name1
10 elif test == name2:
11     print '你输入的名字是:',name2
12 else: 13 print '你输入的是啥啊?' 

结果如下:

 1 E:\软件\python\class_test\days1>python flow_control_1.py2 请输入你的名字: eric3 你输入的名字是: eric4 5 E:\软件\python\class_test\days1>python flow_control_1.py6 请输入你的名字: miao7 你输入的是啥啊? 8 9 E:\软件\python\class_test\days1>python flow_control_1.py 10 请输入你的名字: alex 11 你输入的名字是: alex 

基本的文件操作

文件里的写,读
步骤:找到文件:文件路径E:\
        打开文件:file_obj =  (文件路径,'w+'什么形式打开?)
                        open:   open内部会调用file打开文件
     文件操作,读写(会传回一个文件句柄)
file_obj.read()  #会将所有的内容读入内存
        file_obj.readlines() #会将所有的内容读入内存,并且一行一行给你列出.以行为元素的列表
        for line in  file_obj.xreadlines() #迭代器, 一行一行代入,这个是已经废掉的
        for line in file_obj: #每次循环,只读一行,避免全部读入内存
       file_obj.write() #会将内容全部写入文件
        file_obj.writeline() #会逐行写入文件
        file_obj.close()     文件关闭
例如下面这个例子:我们新建一个log.txt文件,要求里面的值全加1后,然后再更新写入文件
 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4
 5 file_obj = open('E:\软件\python\class_test\days1\log.txt', 'r+')
 6 line_list = file_obj.readlines()
 7 my_list =[]
 8 for ele in line_list:
 9     line = ele.strip()
10     value_list = line.split(',')
11     last_value = int(value_list[-1])
12     last_value += 1
13     value_list[-1] = str(last_value)
14     value_str = ','.join(value_list)
15     my_list.append(value_str)
16 my_str = '\n'.join(my_list)
17 file_obj.seek(0)
18 file_obj.write(my_str)
19 #file_obj.flush()
20 file_obj.close()

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3
 4
 5 file_obj = file('E:\软件\python\class_test\days1\log.txt', 'r')
 6
 7 #print file_obj.readlines(),#将文件内容赋值给变量line_list
 8 line_list = file_obj.readlines()
 9 #新建一个列表,用来存放转换后结果
10 my_list =[]
11
12 for ele in line_list:
13     # 把line_list中的值去掉空格,然后赋给变量line
14     line = ele.strip()
15     #对line里面的内容,通过,分割成列表
16     value_list = line.split(',')
17     #对列表value_list切片取最后值,为了确保无误,我们对取值后的结果转换成整型
18     last_value = int(value_list[-1])
19     #按照要求加1
20     last_value += 1
21     #把加1后的列表last_value内容重新软件成字符串
22     value_list[-1] = str(last_value)
23     #我们通过合并参数join,用,把字符串转换成列表,并赋给变量value_str
24     value_str = ','.join(value_list)
25     #因为我们有好多行内容,所以把每次转换后的结果追加存入列表my_list中,方便直接调用
26     my_list.append(value_str)
27 #因为我们原来文件中的内容一行一条信息,所以我们新加入的信息加入换行符,并赋给变量my_str
28 my_str = '\n'.join(my_list)
29 #把最后更新的结果写入文件中
30 file_obj.write(my_str)
31 #清空缓存
32 file_obj.flush()
33 #关闭文件
34 file_obj.close()
35
36
37
38     

View Code

转载于:https://www.cnblogs.com/miaoxg/p/4912105.html

python初学--day1相关推荐

  1. 孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备

    孤荷凌寒自学python第四十五天Python初学基础基本结束的下阶段预安装准备 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天本来应当继续学习Python的数据库操作,但根据过去我自学 ...

  2. Python初学笔记(第一学期学完c后和栗子一起学python)

    Python初学笔记 一.基本数据类型 1.整数 2.浮点数 3.字符串 4.布尔值(即"对"与"错"): 5.空值 二.变量的定义 1.变量名 2.变量的定义 ...

  3. python初学-爬取网页数据

    python初学-爬取网页数据 1,获取网页源代码 import urllib url = 'http://www.163.com'wp = urllib.urlopen(url) file_cont ...

  4. python培训Day1

    python培训Day1 python学习day1 一 列表.元组.字典.集合 1.1列表[] 1.1.1列表创建 1.1.2列表元素添加 1.1.3列表元素的删除 1.1.4列表元素的插入inser ...

  5. Python初学尝试:word批量刷格式转PDF,替换页眉页脚

    Python初学尝试:word批量刷格式转PDF,替换页眉页脚 初学尝试 round 1 ronund 2 easygui round 4 PyQt5 round 4 wxpython 小结 初学尝试 ...

  6. Python初学小知识(五):字符串

    Python初学小知识(五):字符串 九.字符串 1. 字符串使用范围广.且极其方便 字符串的切片是是半闭半开区间,不包括最后的位置. 2. 字符串的各种方法 2.1 大小写转换 2.2 左中右对齐 ...

  7. 赖春林Python初学笔记 Day0.1

    python初学笔记 Day0.1 ​ 在Shell里输入: dir(__builtins__) #可查看python中所有的关键词 ​ 在Shell里面输入: help(int) #可查看int关键 ...

  8. Python初学15——wordcloud库简介与使用

    目录 一.wordcloud库基本介绍 二.wordcloud库使用说明( .WordCloud(width= ,height=, min_font_size=, max_font_size=, fo ...

  9. python基础训练 day1

    python基础训练 day1 py萌新,今天开始坚持打卡! 第一题 # 有四个数字:1.2.3.4,能组成多少个互不相同且无重复数字的三位数?各是多少? 首先的想法是穷举法,把所有的可能性列举出来, ...

最新文章

  1. 2021年大数据Kafka(九):kafka消息存储及查询机制原理
  2. 如图两道面试题,顺便深入线程池,并连环17问
  3. python基本语法语句-python 语法基础篇 一
  4. Oracle优化11-10046事件
  5. Spreadsheet Tracking
  6. Oracle 数据库错误信息:动态执行表不可访问,本会话的自动统计被禁止
  7. Laravel项目迁移步骤
  8. 智能语音识别究竟是如何实现的?
  9. 深度学习: 推进人工智能的梦想
  10. gb28181简单实现sip信令服务器(java版基于springboot):三、sip摄像头注册(代码实现)
  11. 共享远程计算机文件夹,怎么远程访问共享文件夹
  12. 如何升级php到最新版本_如何将PHP升级到最新版本
  13. CF1389G Directing Edges
  14. 搜狗推广管家 v8.3
  15. 网页设计配色应用实例之黄色系
  16. 0基础实现微信推送天气,生日等(女朋友快乐眼)
  17. max3490esa_MAX1661EUB-T_maxim芯片后缀tg16是什么意思
  18. 记录一次租房经历一(1)
  19. WebGL 2.0实现Vertex Array Objects(VAO,顶点数组对象)
  20. css 怎么做出黑白相间的table

热门文章

  1. js 提交form表单,js更改form表单的action属性
  2. grep如何忽略.svn目录,以及如何忽略多个目录
  3. android 中的PopupWindow
  4. Vivado下几条 Verilog 综合规则
  5. 深入浅出解释FFT(四)——fft分析信号频率和相位
  6. javascript中的闭包这一篇就够了
  7. HDOJ(HDU) 2139 Calculate the formula(水题,又一个用JavaAC不了的题目)
  8. JMS(二):简单的JMS入门实例
  9. android开发设置dialog的高宽
  10. HTML4如何让一个DIV居中对齐?float输入日志标题