Python学习之路——初识Python
一、第一个程序Hello World:
1、打印输出Hello World:
Python2打印方法:
>>> print "hello world"
hello world
Python3打印方法:
>>> print("hello world")
hello world
注:Python3与Pytho2的区别是加了小括号。
2、以文件形式执行代码:
[root@Centos-01 s1]# vim hello.py
打开一个文件hello.py文件内写入以下内容:
print("hello world")
保存退出。
当我们执行代码文件时会出现如下错误:
[root@Centos-01 s1]# ./hello.py
./hello.py: line 1: syntax error near unexpected token `"hello world"'
./hello.py: line 1: `print("hello world")'
出现此错误的原因是系统不知道用什么语言来执行文件内的代码。
解决方法就是用以下命令执行:
[root@Centos-01 s1]# python hello.py
hello world
这样就会正常执行了。但是这样执行会很不方便。我们可以在代码文件中指定用什么语言来执行代码。
将hello.py文件内容修改成如下:
第一种方法:
#!/usr/bin/python
print("hello world")
第二种方法:
#!/usr/bin/env python
print("hello world")
注:第一种方法是指定执行代码语言绝对路径。第二种方法是查找指定的语言。推荐使用第二种方法,因为这样可以提高代码的可移植性。
此时我们再来执行代码:
[root@Centos-01 s1]# python hello.py
hello world
[root@Centos-01 s1]# ./hello.py
hello world
OK,两种方法都可以执行了。
二、变量声明:
info = “hello world”
变量命名规则:
1、变量名只能以数字、字母、下划线组成。
2、第一个字符只能为字母、下划线但不能为数字。
3、不要使用内置变量名。内置变量就是python语言自身内部定义的变量名例如:type、input、impot等。
三、用户交互:
1、用户输入代码:
Python3.X代码:
input_name = input("请输入你的名:")
print(input_name)
执行结果:
请输入你的名:Earl
Earl
Python2.X代码:
input_name = raw_input("请输入你的名字:")
print input_name
执行结果:
请输入你的名:Earl
Earl
2、在Python3.x与Python2.x中用户交互模块有区别对应关系如下:
Python3.x Python2.x
input raw_input
eval(input()) input()
四、If条件判断与while循环:
(一)、if语句:
1、语法:
if 条件:
print(“要输出信息”)
elif 条件:
print(“要输出信息”)
else:
print(“要输出信息”)
2、例句:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
info = input("请输入您的性别:")
if info == "man":
print("你是一个帅哥。")
elif info == "girl":
print("你是一位淑女。")
else:
print("对不起不知道你的性别。")
(二)、while循环:1语法:
while 条件:
print("要输出信息")
例句:#!/usr/bin/env python
# -*- coding: utf-8 -*-
while True:
print("info")注:以上语句为死循环语句。
(三)、while与if结合使用案例:场景:定义一个数字,然后去猜测这个数字,不论输入数字大于还是小于定义数字均打印相应提示,猜对后退出并只有三次机会:代码如下:#!/usr/bin/env python
# -*- coding: utf-8 -*-
number = 0
lucky_number = 5
while number < 3:
input_number = int(input("请输入0到9之间的任意数字:"))
if input_number > lucky_number:
print("你输入的数字大于幸运数字.")
elif input_number == lucky_number:
print("你输入正确幸运数字.")
break
else:
print("你输入的数字小于幸运数字.")
number += 1
else:
print("对不起,你的机会用完了。")
五、数据类型:(一)、数字:1、int(整型)2、long(长整型)3、float(浮点型)(二)、布尔值:1、真或假2、1或0(三)、字符串:“hello world”
万恶的字符串拼接:
python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空间,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。
(四)、字符串格式化:
1、普通格式化:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "Earl"
age = 27
info = ("我的名字叫%s, 我的年龄%d.") % (name, age)
print(info)输出:我的名字叫Earl,我的年龄27.注:字符串是%s;整数是%d;浮点数%f2、使用三引号格式化:#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "Earl"
age = 27
address = "北京"
info = """我的名字:%s
我的年龄:%d
我的住址:%s""" % (name, age, address)
print(info)输出:
我的名字:Earl
我的年龄:27
我的住址:北京3、字符串切片:
2、删除字符串空格:
info.strip() #去除两边的空格 info.lstrip() #去除左边的空格 info.rstrip() #去除右边的空格
六、列表(list):1、创建一个列表:list_info = ["name", "age", "address", 10000]2、列表取值:list_info[0] #0代表列表元素的索引值,值是以0开始的。所以结果为name。list_info[1] #当中括号内是1时取是agelist_info[0:2] #取出列表0到2的元素,但是不包含索引值为2,也就小于2的值。所以结果是name和age。list_info[-1] #取出最后个值,所以结果为10000.list_info[:-1] #取出索引从0开始至倒数第二个字符,不包括-1的值,所以输出结果为name, age, address。3、查看列表方法:>>>dir(list_info)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']注:带有__为私有方法,我们使用不到。
4、各种方法演示:append方法是在列表末尾追加元素:list_info = ["name", "age", "address", 10000]
list_info.append("city")print(list_info)
输出结果:['name', 'age', 'address', 10000, 'city']
count方法是统计某个元素在列表里的个数:list_info = ["name", "age", "address", 10000, "age"]
info = list_info.count("age")
print(info)输出结果:2
insert方法是在列表内插入一个元素:list_info = ["name", "age", "address", 10000]
list_info.insert(2, "job")
print(list_info)输出结果:['name', 'age', 'job', 'address', 10000]注:insert方法中的数字2是索引值,是将新插入的元素放在2这个索引值的位置,而原有的元素全部后移一位。
index方法是取出index的索引值:list_info = ["name", "age", "address", 10000]
info = list_info.index("age")
print(info)输出结果:1
pop方法是删除列表内的元素:list_info = ["name", "age", "address", 10000]
list_info.pop()
print(list_info)输出结果:['name', 'age', 'address']注:如果pope括号内没有索引值则是删除列表最后一位。如果有索引值则删除索引值的元素。
remove方法删除列表元素:list_info = ["name", "age", "address", 10000]
list_info.remove("age")
print(list_info)输出结果:['name', 'address', 10000]
sort方法是排序,但是列表内只能是int类型元素:(此方法只在python3.x版本是这样)list_info = [1, 34, 0, 6, 10000]
list_info.sort()
print(list_info)输出结果:[0, 1, 6, 34, 10000]
七、元组(tuple):1、创建元组:tuple_info = ("name", 34, "age", "address", 10000)
2、查看元组方法:
>>> dir(tuple_info)
['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']
3、元组使用方法:
元组的操作与列表一样。但是元组只有count与index两种方法。
count方法是统计某个元素在元组里的个数:
tuple_info = ("name", 34, "age", "name", "address", 10000)
info = tuple_info.count("name")
print(info)输出结果:2
index方法是取出index的索引值:
tuple_info = ("name", 34, "age", "address", 10000)
info = tuple_info.index("age")
print(info)输出结果:2
八、列表(list),字符串(str),元组(tuple)说明:
1、相同点:
切片、索引、len() 、in
2、不同点:
str:重新开辟空间
list:修改后,不变
3、元组(tuple):
不能修改
九、运算符
1、算数运算:+ - * / % ** //
2、比较运算:== != <> >= <= > <
3、赋值运算:= += -= *= /= %= **/ //=
4、逻辑运算:and or not
5、成员运算:in not in
6、份运算:is is not
7、运算:& | ^ ~ >> <<
Python学习之路——初识Python的更多相关文章
- python学习之路-1 python基础操作
本篇所涉及的内容 变量 常量 字符编码 用户交互input 格式化字符串 python的缩进规则 注释 初始模块 条件判断 循环 变量 变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中 ...
- python学习之路-1 python简介及安装方法
python简介 一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. 目前最新版本为3.5.1,发布于2015年12月07日 ...
- python学习之路 初识xml
import requests from xml.etree import ElementTree as ET r = requests.get('http://www.webxml.com.cn// ...
- python学习笔记之初识Python
一直听说python语音的简单易用而又强大,今天终于忍不住借本书,开始接触接触一下它,下面结合书本和自己的一些体会,写一下刚刚接触python的东西,重点写一些和C++有区别的地方. (1)输入inp ...
- Python学习笔记1_初识Python
一.Python的发展 1.CNRI时期:CNRI是自助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期内完成 2.BeOpen时期:Guido van Rossum与B ...
- Python学习之路-Day2-Python基础2
Python学习之路第二天 学习内容: 1.模块初识 2.pyc是什么 3.python数据类型 4.数据运算 5.bytes/str之别 6.列表 7.元组 8.字典 9.字符串常用操作 1.模块初 ...
- Python学习之路【第一篇】-Python简介和基础入门
1.Python简介 1.1 Python是什么 相信混迹IT界的很多朋友都知道,Python是近年来最火的一个热点,没有之一.从性质上来讲它和我们熟知的C.java.php等没有什么本质的区别,也是 ...
- python学习之路-day2-pyth基础2
一. 模块初识 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,第三方库存放位置:site-packages sys模块简介 导入模块 import sys 3 sys模 ...
- Python学习之路-Day2-Python基础3
Python学习之路第三天 学习内容: 1.文件操作 2.字符转编码操作 3.函数介绍 4.递归 5.函数式编程 1.文件操作 打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个 ...
随机推荐
- Root exploit for Android (adb setuid)
/* 本文章由 莫灰灰 编写.转载请注明出处. 作者:莫灰灰 邮箱: minzhenfei@163.com */ 1. 漏洞分析 这是个非常老的漏洞了,主要利用adb启动的时候调用setuid函 ...
- Android建立模拟器进行调试
安装好android开发环境后.用到下面几个命令.android, adb, emulator android - 最主要的android命令.能够进行sdk更新,列出设备源,生成虚拟设备等. adb ...
- 2014年同年CFA考试中哪些CFA资料没有变化?
从2014年起,美国CFA协会将官方教材.题库.模拟题等CFA资料捆绑在报名费用之中,而以往可以单独选购的纸质版教材也变成了额外购买.这让非常多參加12月的CFA考生产生了借阅6月考生CFA资料的想法 ...
- Swift利用闭包(closure)来实现传值-->前后两个控制器的反向传值
一.第一个界面 // Created by 秦志伟 on 14-6-13. import UIKit class ZWRootViewController: UIViewController { in ...
- Swift与Objective-C交互
在同一个工程中是可以同时使用Swift和OC的,但不可以同时出现在同一个文件中. OC调用Swift相关信息的方法 在***.m文件中导入工程名-Swift.h即可. 如工程名为ABC,则在需要使用S ...
- 利用Socket实现的两个程序的通信
写的也很简单,自己觉得挺有意思了 程序如图 主要代码 public class Message { Form1 mainfrom = null; public Message() { } public ...
- EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)
菜鸟进入,高手请绕道! +++++++++++++++++++++++++++++++++++++++ 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <scri ...
- 加深理解UIView,UIResponder,UIController
转载出处:http://www.th7.cn/Program/IOS/201503/406514.shtml 原文地址==>自定义控件:http://objccn.io/issue-3-4/ 读 ...
- Java Web 部署到Tomcat
1.在conf目录中,新建Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为: <C ...
- Socket缓冲区探讨,是否有拆包的方式?
Socket缓冲区探讨 本文主要探讨java网络套接字传输模型,并对如何将NIO应用于服务端,提高服务端的运行能力和降低服务负载. 1.1 socket套接字缓冲区 Java提供了便捷的网络编程模式, ...