python学习之路(基础篇)——基本语法流程控制

一、hello world程序

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

print("Hello World!")

 然后执行命令:python hello.py ,输出

localhost:~ jieli$ vim hello.py
localhost:~ jieli$ python hello.py
Hello World!

2、由 python 解释器来执行

#!/usr/bin/env python

print "hello,world"

执行: ./hello.py 即可。

ps:执行前需给予 hello.py 执行权限,chmod 755 hello.py

3、直接调用python自带的交互器运行代码

localhost:~ jieli$ python
Python 2.7.10 (default, Oct 23 2015, 18:05:06)
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World!")
Hello World!

二、变量

1、

#_*_coding:utf-8_*_

name = "tony"

变量名为: name,变量name的值为:"tony"

2、变量定义的规则:

      • 变量名只能是 字母、数字或下划线的任意组合
      • 变量名的第一个字符不能是数字
      • 以下关键字不能声明为变量名
        [‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘exec‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘not‘, ‘or‘, ‘pass‘, ‘print‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]

三、字符编码

python一般用     utf-8

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print "你好,世界"

四、用户输入

#!/usr/bin/env python
#_*_coding:utf-8_*_

#name = raw_input("What is your name?") #only on python 2.x
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)

#input()后默认输入字符类型,如需输入数字,需要整数转换int()

五、模块初识

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持

例子1  sys

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys

print(sys.argv)

#输出
$ python test.py helo world
[‘test.py‘, ‘helo‘, ‘world‘]  #把执行脚本时传递的参数获取到了

例子2   os

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os

os.system("df -h") #调用系统命令

结合

import os,sys

os.system(‘‘.join(sys.argv[1:])) #把用户的输入的参数当作一条命令交给os.system来执行

而且,自己写的xx.py模块只能在当前目录下导入,如果想在系统的任何一个地方都使用怎么办呢? 此时你就要把这个xx.py放到python全局环境变量目录里啦,基本一般都放在一个叫 Python/2.7/site-packages 目录下,这个目录在不同的OS里放的位置不一样,用 print(sys.path) 可以查看python环境变量列表。

六、pyc是什么?

1. 解释型语言和编译型语言

计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一种是编译,第二种是解释。

编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就可以了。最典型的例子就是C语言。

解释型语言就没有这个编译的过程,而是在程序运行的时候,通过解释器对程序逐行作出解释,然后直接运行,最典型的例子是Ruby。

通过以上的例子,我们可以来总结一下解释型语言和编译型语言的优缺点,因为编译型语言在程序运行之前就已经对程序做出了“翻译”,所以在运行时就少掉了“翻译”的过程,所以效率比较高。但是我们也不能一概而论,一些解释型语言也可以通过解释器的优化来在对程序做出翻译时对整个程序做出优化,从而在效率上超过编译型语言。

此外,随着Java等基于虚拟机的语言的兴起,我们又不能把语言纯粹地分成解释型和编译型这两种。

用Java来举例,Java首先是通过编译器编译成字节码文件,然后在运行时通过解释器给解释成机器文件。所以我们说Java是一种先编译后解释的语言。

2.python的运行过程

python解释器的两次运行:

当python程序运行时,编译的结果则是保存在位于内存中的PyCodeObject中,当Python程序运行结束时,Python解释器则将PyCodeObject写回到pyc文件中。

当python程序第二次运行时,首先程序会在硬盘中寻找pyc文件,如果找到,则直接载入,否则就重复上面的过程。

所以我们应该这样来定位PyCodeObject和pyc文件,我们说pyc文件其实是PyCodeObject的一种持久化保存方式。

七、数据类型初识

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(浮点型)

      先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html 
  浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。
complex(复数)
  复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

注:Python中存在小数字池:-5 ~ 257

2、布尔值

  真或假

  1 或 0

3、字符串

"hello world"

万恶的字符串拼接:

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

字符串拼接

print(‘azx%s%d%f‘%(s,d,f))

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

字符串常用功能:

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

4、列表

创建列表

name_list = [‘alex‘, ‘seven‘, ‘eric‘]
或
name_list = list([‘alex‘, ‘seven‘, ‘eric‘])

基本操作:

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

5、元组(不可变列表)

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

6、字典(无序)

person = {"name": "mr.wu", ‘age‘: 18}
或
person = dict({"name": "mr.wu", ‘age‘: 18})

常用操作:

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

八、数据运算

算数运算:

比较运算:

赋值运算:

逻辑运算:

成员运算:

身份运算:

位运算:

运算优先级:

九、if---else

场景一:用户登录

# 提示输入用户名和密码

# 验证用户名和密码

#     如果错误,则输出用户名或密码错误

#     如果成功,则输出 欢迎,XXX!

#!/usr/bin/env python

# -*- coding: encoding -*-

 

import getpass

 

name = raw_input(‘请输入用户名:‘)

pwd = getpass.getpass(‘请输入密码:‘)

 

if name == "alex" and pwd == "cmd":

    print("欢迎,alex!")

else:

    print("用户名和密码错误")

场景二、猜年龄游戏

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-

my_age = 28

user_input = int(input("input your guess num:"))

if user_input == my_age:
    print("Congratulations, you got it !")
elif user_input < my_age:
    print("Oops,think bigger!")
else:
    print("think smaller!")

外层变量,可以被内层代码使用

内层变量,不应被外层代码使用

十、for循环

简单循环10次

#_*_coding:utf-8_*_
__author__ = ‘Alex Li‘

for i in range(10):
    print("loop:", i )

还可以和if结合使用

for i in range(10):
    if i<5:
        continue #不往下走了,直接进入下一次loop,还可以用break结束循环loop
    print("loop:", i )

十一、While循环

死循环

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

 

原文地址:https://www.cnblogs.com/tony8gbmy/p/7474914.html

时间: 2024-10-20 08:14:16

python学习之路(基础篇)——基本语法流程控制的相关文章

python学习之路基础篇(第四篇)

一.课程内容回顾 1.python基础 2.基本数据类型  (str|list|dict|tuple) 3.将字符串“老男人”转换成utf-8 s = "老男人" ret = bytes(s,encoding="utf-8") print(ret) ret1 = bytes(s,encoding="gbk") print(ret1) #程序运行结果如下: b'\xe8\x80\x81\xe7\x94\xb7\xe4\xba\xba' b'\xc0

python学习之路基础篇(第七篇)

一.模块 configparser XML shutil zipfile 和 tarfile subprocess 二.面向对象 什么是面向对象 self是什么鬼 构造方法 面向对象的三大特性:封装,继承,多态 已经学习过的python内置类:str  list  tuple dict  set python自定义类 python单继承 python多继承

python学习之路——基础篇(3)模块(续)

re正则表达式.shutil.ConfigParser.xml 一.re 正则元字符和语法: 语法 说明 表达式 完全匹配字符 字符 一般字符 匹配自身 abc abc . 匹配除换行符"\n"外,任意一个字符 a.c abc \ 转义字符,将特殊字符转义为本身 a\.c a\\c a.c a\c [...] 匹配字符集任意一个字符,或者"-"表示一个集合范围 如:[a-zA-Z0-9]匹配范围中任意一个字符:或者[^] 匹配否定,对括号中的内容取反. [abc]e

python学习之路基础篇(三)

一.简单回顾上次课程内容 主要内容:str|list|dict 类---对象 具体内容可以参考: http://www.cnblogs.com/wupeiqi/articles/5433925.htmlhttp://www.cnblogs.com/wupeiqi/articles/5444685.html 二.python后续学习方法:首先整理课程讲解内容到博客,然后再写作业 三.本次课程内容 1.数据类型-set 小结: 列表和集合set的区别(小知识点):列表:有序 可重复 可嵌套集合set

python学习之路基础篇(第五篇)

前四天课程回顾 1.python简介 2.python基本数据类型 类: int:整型 | str:字符串 | list:列表 |tuple:元组 |dict:字典 | set:集合 对象: li = [11,22,33] #列表的一个对象 s = "MoHan" #字符串的一个对象 3.函数式编程 4.装饰器 @装饰器函数名 def func(): pass 其中@装饰器函数名,程序执行到此,会进行如下三步操作: 1.将func当做参数进行传递给装饰器函数并执行 2.将装饰器函数的返

Python学习之路基础篇--03Python基础+万恶的运算符

1 格式化输出% 用%s(用来表示str数据类型) 和 %d (用来表示int数据类型),如果要用%号的话,就要使用两个%%,这样即可输出. 2 初识编码 电脑的传输数据,储存都是用的 01010101 的方式 1 byte = 8 bit (即 1 字节 = 8 位) 1 KB = 1024 byte 1MB = 1024 KB 1 GB = 1024 MB 1 TB = 1024 GB ASCii码:一开始由美国人发明, 一共1 个字节, 8 位, 最初7 位即可,故最左边的一位为 0 un

Python学习之路基础篇--09Python基础,初识函数

函数可以分为内置函数 和 自定义函数.这次关注的主要是自定义函数.定义函数之后,就可以在任何需要它的地方调用. 1 返回值的重要性 返回值的3种情况 没有返回值 ---- 返回None 不定 return 只写 return :结束一个函数 return None ---- 不常用 只有一个返回值 可以返回任何数据类型 只要返回就可以接收到 如果一个函数中有多个return ,那么只执行第一个 返回多个值 用多个变量接收:有多少个返回值就用多少个变量接收 用一个变量接收:得到一个元组 2 参数

Python学习总结之一 -- 基础篇

Python学习第一篇 一:写在前面 啊,最近我的新博客一直都没有更新学习内容了,只是最近一直都在忙着寻找实习机会(或许这只是一个借口,真实原因是我太懒惰了,改改改!).终于今天又投递了几个新的实习职位之后幡然醒悟,我的执行力还是太弱了,我得更加有自律性更加坚持才行.所以今天,我把之前学习的Python基础知识总结一下. 二:认识Python 首先我们得清楚这个:Python这个名字是从Monty Python借鉴过来的,而不是源于大家所知道的大蟒蛇的意思.我们为什么要学习Python呢?就我而

Python学习之路——基础10篇

在这一篇中我们主要学习python中求字符串的长度的方法--__len__() 无论是二维的还是一维的都是它,及其简便 根据题目学python: 给定由大写,小写字母和空格组成的字符串,返回 最后 一个单词的长度. 如果输入中不存在单词,返回 00. 注意: "单词"是指不包含空格符号的字符串 例如: 对于字符串"hello World"(不带引号), 那么返回的结果是 55: 对于字符串"abc abc "(不带引号),那么返回的结果就是 33

Python学习之路——基础01篇

安装python编译环境  python数字定义是不需要int,double的,但是数据本身还是包含这些类型,这里是我在学习python过程中的一些代码和心得.   python作为一种高级语言,需要安装自己的解释器,解释你所写的代码然后还需要一个编译器(很多).首先下载一个python编译器,安装完成之后再去python官网下载最新的python 3.X然后安装,点自动设置路径,安装好之后,在计算机cmd界面输入python如果出现:即说明已经安装成功.