python第一课代码笔记

hello world

[root@heartbeat-data- python]# vim hello1.py   

#!/usr/bin/env python

print ('hello world!')

[root@heartbeat-data- python]# python hello1.py

hello world!

注意

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器;
#!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里。当系统看到这一行的时候,首先会到env设置里查找python的安装路径,再调用对应路径下的解释器程序完成操作。
#!/usr/bin/python相当于写死了python路径;
#!/usr/bin/env python会去环境设置寻找python目录,推荐这种写法

 

[root@heartbeat-data- python]# vim hello2.py   

def main():

print("hello")

main()

IndentationError: expected an indented block 缩进错误

[root@heartbeat-data- python]# vim hello2.py   

def main():

  print("hello")

main()

变量

[root@heartbeat-data- python]# vim plus.py
x =
y =
print (x + y)
[root@heartbeat-data- python]# python plus.py [root@localhost python]# vim plus.py
def main():
  x =
  y = 4
  print(x + y)
main() # python plus.py
6 大写的一般是常量,小写的是变量 [root@heartbeat-data- python]# vim test.py
x =
y =
z = x
x =
print ('Z:',z)
print ('X:',x)
[root@heartbeat-data- python]# python test.py
Z:
X:
[root@heartbeat-data- python]# vim test1.py
a = 'ABC'
b = a
a = 'XYZ'
print(b)
print(a)
[root@heartbeat-data- python]# python test1.py
ABC
XYZ
单行注释:#,多行注释:’’’ 三个引号
#print ‘ddd’
[root@localhost python]# vim zhushi.py
print
'''
print 'ddd'
print 'ddd'
print 'ddd'
------------------
'''

[root@localhost python]# python zhushi.py

print 'ddd'

print 'ddd'

print 'ddd'

------------------

理解字符編碼:


 #_*_coding:utf8_*_
在脚本里面添加以上那句话,可解决中文问题
ASSIC(8进制)    UNICODE(16进制)   UTF8(可变长度的)
ASSIC:1个字节8位,2的8次方,最多存256个数
UNICODE:2的16次方,最多存65536
UTF8:可变长度的
[root@heartbeat-data- Python-3.4.]# python
>>> ord('a') >>> ord('A') >>> a = 'wwp'
>>> type(a)
<class 'str'>
>>> len(a) In [1]: name = '咖啡可乐'

In [2]: name
Out[2]: '\xe5\x92\x96\xe5\x95\xa1\xe5\x8f\xaf\xe4\xb9\x90'

In [3]: name.encode('utf-8')
---------------------------------------------------------------------------
UnicodeDecodeError Traceback (most recent call last)
<ipython-input-3-977844d87663> in <module>()
----> 1 name.encode('utf-8')

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)

读取文件时使用的编码默认时ascii而不是utf8,导致的错误

解决方法

In [6]: import sys

In [7]: reload(sys)
<module 'sys' (built-in)>

In [9]: sys.setdefaultencoding('utf8')

In [10]: name.encode('utf-8')
Out[10]: '\xe5\x92\x96\xe5\x95\xa1\xe5\x8f\xaf\xe4\xb9\x90'


In [12]: name_utf8=name.encode('utf-8')

In [13]: len(name_utf8)
Out[13]: 12


模块

>>> import os
>>> os.system('df -h')
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 44G .2G 39G % /
tmpfs 491M 491M % /dev/shm >>> os.system('free -m')
total used free shared buffers cached
Mem:
-/+ buffers/cache:
Swap:

内置模块


 os内置模块

用于提供系统级别的操作

os.getcwd() 获取当前工作目录,即当前python脚本工作的目录os.chdir("dirname")  改变当前脚本工作目录;相当于shell下cd

os.curdir  返回当前目录: ('.')

os.pardir  获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2')    可生成多层递归目录

os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname

os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove()  删除一个文件

os.rename("oldname","newname")  重命名文件/目录

os.stat('path/filename')  获取文件/目录信息

os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.pathsep    输出用于分割文件路径的字符串

os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

os.system("bash command")  运行shell命令,直接显示

os.environ  获取系统环境变量

os.path.abspath(path)  返回path规范化的绝对路径

os.path.split(path)  将path分割成目录和文件名二元组返回

os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path)  如果path是绝对路径,返回True

os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间

os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间



sys内置模块

sys.argv         命令行参数List,第一个元素是程序本身路径

sys.exit(n)        退出程序,正常退出时exit(0)

sys.version        获取Python解释程序的版本信息

sys.maxint         最大的Int值

sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform       返回操作系统平台名称

sys.stdout.write('please:')

val = sys.stdin.readline()[:-1]

交互式

交互式:raw_input默认输出的都是字符串
input 输出的是数字
raw_input和input的区别:input本身格式是什么就调用什么,raw_input默认输出的都是字符串

普通版本
[root@python scripts]# vim test0.py
#!/usr/bin/env python
#_*_coding:utf- _*_
name = raw_input('Please input your name:')
age = raw_input("age:")
print name , age 升级版
[root@python scripts]# vim test1.py
#!/usr/bin/env python
#_*_coding:utf- _*_
name = raw_input('Please input your name:')
age = raw_input("age:")
job = raw_input("job:")
salary = raw_input("salary:") print '''
Personal information of %s:
Name: %s
Age : %s
Job : %s
Salary: %s
---------------------
''' % ( name,name,age,job,salary) %s代表字符串
%d代表数字
%f 代表浮点数

流程控制

流程控制语句:
if语句
if else

#!/usr/bin/env python
#_*_coding:utf- _*_
name = raw_input('Please input your name:')
age = input("age:")
job = raw_input("job:")
salary = raw_input("salary:") if age > :
msg = 'You are too fucking old!'
else:
msg = 'You are still young' print '''
Personal information of %s:
Name: %s
Age : %d
Job : %s
Salary: %s
---------------------
%s
'''
% ( name,name,age,job,salary,msg) if elif else

#!/usr/bin/env python
#_*_coding:utf- _*_
name = raw_input('Please input your name:')
age = input("age:")
job = raw_input("job:")
salary = raw_input("salary:") if age > :
msg = 'You are too fucking old!'
elif age > :
msg = 'You are still have a few years to hook up'
else :
msg = 'You are still young' print '''
Personal information of %s:
Name: %s
Age : %d
Job : %s
Salary: %s
---------------------
%s
'''
% ( name,name,age,job,salary,msg) for 语句:

#!/usr/bin/env python
#_*_coding:utf- _*_
name = raw_input('Please input your name:')
job = raw_input("job:")
salary = raw_input("salary:")
real_age =
for i in range() :
age = input('age:')
if age > :
print 'big!'
elif age == :
print '\033[32;1mright!\033[0m' 带颜色
break
else :
print 'small' print 'You still got %s shots!' % ( - i)
print '''
Personal information of %s:
Name: %s
Age : %d
Job : %s
Salary: %s
---------------------
'''
% (name,name,age,job,salary) while循环
[root@python scripts]# vim test4.py
count =
while True:
print 'loop;',count
count += 版本1
print_num = input ('which loop do you want it to be printed out?')
count =
while count < :
if count == print_num:
print 'There you got the num:',count
choice = raw_input('Do U want to continue the loop?y/n')
if choice == 'n':
break
else:
print 'Loop:',count
count += else:
print 'Loop:count',count 版本2
print_num = input ('which loop do you want it to be printed out?')
count =
while count < :
if count == print_num:
print 'There you got the num:',count
choice = raw_input('Do U want to continue the loop?y/n')
if choice == 'n':
break
else:
print_num = input('which loop do you want it to be printed out?')
else:
print 'Loop:',count
count += else:
print 'Loop:count',count 版本3
[root@python software]# vim test.py
#_*_coding:utf-8_*_
print_num = input ('which loop do you want it to be printed out?')
count =
while count < :
if count == print_num:
print 'There you got the num:',count
choice = raw_input('Do U want to continue the loop?y/n')
if choice == 'n':
break
else:
while print_num <= count:
print_num = input ('which loop do you want it to be printed out?')
print "the num have passed"
else:
print 'Loop:',count
count += else:
print 'Loop:count',count

python-1 python基础知识的更多相关文章

  1. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  2. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  3. 基于Python的Flask基础知识

    Flask简介 Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask. 下面我们简单 ...

  4. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  5. Python音频处理基础知识,这不是轻轻松松~~~

    大家好鸭,我是小熊猫 咱今天来讲一讲音频处理的基础知识上才艺~~~ 1.声音的基础 2.python读取.wav音频 欢迎加入白嫖Q群:660193417### import wave import ...

  6. python这不是有手就行?——python音频处理基础知识

    大家应该都知道声音的基础吧? 啊不知道当我没说吧~~~ 1.声音的基础 2.python读取.wav音频 Python学习交流Q群:660193417#### import wave import s ...

  7. python第一课--基础知识

    python简介 Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...

  8. Python之进程 基础知识 上

    阅读目录 理论知识 操作系统背景知识 什么是进程 进程调度 进程的并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 在python程序中的进程操作 multiprocess模块 进程的创建和mu ...

  9. Python开发——1.基础知识

    一.开发 开发语言分为高级语言和低级语言 高级语言:Python.Java.PHP.C++.C#.GO.Ruby等:低级语言:C.汇编语言. 高级语言对应的是字节码,是将代码编译成字节码,然后交给机器 ...

  10. Python程序设计1——基础知识

    1 Python脚本设计简介 1.1 输出"Hello World" 和一般的语言一样,运行python程序有两种方式,一种是GUI交互式命令,一种是通过脚本文件,前者适合小型简单 ...

随机推荐

  1. 解决在android开发中ViewPager中Gallery无法滑动问题

    我的是在viewpager中某个fragment中有gallery... 导致无法滑动,网上找到解决方法. 自定义Gallery. 代码: import android.content.Context ...

  2. form表单

      <form> <input type="text" value="123">   文本输入框,value值为显示在文本框中的默认值, ...

  3. Spring4学习笔记1-HelloWorld与IOC和DI概述

    1.安装环境 1.1安装eclipse,jdk 1.1安装Spring tool suite(非必要项) 2.spring HelloWorld 2.1 需要的jar包(spring官网下载:http ...

  4. 来自 Codrops 的7种创新的拖放交互界面

    Codrops 分享了一些界面拖放的交互设计想法.基本的思路是在拖动一个项目的时候,为特定的操作呈现出可投掷的区域.这节省了大量的界面空间 ,并给出了一个有趣的动态的互动.有很多应用场景,例如分类和组 ...

  5. 前端优秀作品展示,JavaScript 版水果忍者

    <水果忍者>是一款非常受喜欢的手机游戏,刚看到新闻说<水果忍者>四周年新版要上线了.网页版的切水果游戏由百度 JS 小组开发,采用 vml + svg 绘图,使用了 Rapha ...

  6. 2015年免费的25款 WordPress 网站模板

    2015年 WordPress 插件和主题的数量继续在增长.这一年,我们可以期待WP主题引入一些新的技术,从背景,自适应响应式图像到从背景图片中提取主色. 本文包含25款最近发布的 WordPress ...

  7. 优秀工具推荐:两款很棒的 HTML5 游戏开发工具

    HTML5 众多强大特性让我们不需要多么高深技术就能创建好玩的网页游戏,同时证明了开放的 Web 技术能与任何其他在游戏开发中使用的技术竞争.正如标题所说,这篇文章推荐的几款很棒 HTML5 游戏开发 ...

  8. JavaScript入门篇QA总结

    Q1:JS可以放在哪个位置?A1:1.放在<head>标签中,用<script type="text/javascript"></script> ...

  9. HTML <fieldset> 标签将表单内的相关元素分组

    <fieldset> 标签将表单内容的一部分打包,生成一组相关表单的字段. 当一组表单元素放到 <fieldset> 标签内时,浏览器会以特殊方式来显示它们,它们可能有特殊的边 ...

  10. 在 SharePoint 2013 中选择正确的 API 集

    决定使用哪个 API 集的因素   您可以在多个 API 集中选择一个来访问 SharePoint 2013 平台.您使用哪一个 API 集取决于以下因素: 应用程序的类型. 可能的类型包括但不限于以 ...