2018-10-29 Python 基础语法-1

Python 基础语法

1. Python 标识符

  • 标识符由 字母(区分大小写)数字下划线组成,但是不能以数字开头
  • 以单下划线开头_foo 的代表不能直接访问的类属性, 需通过类提供的接口进行访问, 不能用 from xxx import *而导入
  • 以双下划线开头的 __foo 代表类的私有成员; 以双下划线开头和结尾的 **__foo__ **代表 Python 里特殊方法专用的标识, 如 _init_()代表类的构造函数
  • Python可以同一行显示多条语句,方法是用分号 ; 分开,示例代码如下:
>>>print 'hello';print 'world'
hello
world

2. Python 保留字符

and assert exec not finally or
break for pass class from print
continue global raise def if return
del import try elif in while
else is with except lambda yield

3. Python 引号与注释

  • Python 可以使用引号( ' )、 双引号( " )、 三引号( ''' 或 """ ) 来表示字符串, 引号的开始与结束必须的相同类型的
  • 其中三引号可以由多行组成, 编写多行文本的快捷语法, 还可以当做注释
    python 中多行注释使用三个单引号(''')或三个双引号(""")
  • 表示单行注释, 单行注释可以单独一行也可以在语句或表达式行末

4. Python 输入

  • Python 2 : raw_input("提示用户的内容")
  • Python 3 : input("提示用户的内容")

5. Python 输出

  • print()为输出函数,默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号

6. 变量赋值

  • Python 中的变量赋值不需要类型声明
  • 每个变量在使用前都必须赋值, 变量赋值以后该变量才会被创建
  • 等号( =) 用来给变量赋值
  • 等号( =) 运算符左边是一个变量名,等号( =) 运算符右边是存储在变量中的值

7. pass语句

  • Python pass 是空语句, 是为了保持程序结构的完整性,pass 不做任何事情, 一般用做占位语句
# coding=utf-8
# 输出 Python 的每个字母
for letter in 'Python':
    if letter == 'h':
        pass
    print '当前字母 :', letter
print "Good bye!"

8. Python 数据类型

  1. Numbers(数字)
    • int( 有符号整型)
    • long( 长整型[也可以代表八进制和十六进制])
    • float( 浮点型)
    • complex( 复数)

Python 还支持复数, 复数由实数部分和虚数部分构成, 可以用 a +bj,或者 complex(a,b)表示, 复数的实部 a 和虚部b 都是浮点型

  1. String(字符串)
  2. List(列表)
  3. Tuple(元组)
  4. Dictionary(字典)
  • 注意:浮点数只支持十进制

8.1.1 Python数学函数

  • 用 **math.方法 ** 进行调用
import math
math.方法
函数 返回值(描述)
abs(x) 返回数字的绝对值, 如 abs(-10) 返回 10
fabs(x) 返回数字浮点形式的绝对值, 如 math.fabs(-10) 返回 10.0
floor(x) 返回数字的下舍整数, 如 math.floor(4.9)返回 4
ceil(x) 返回数字的上入整数, 如 math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回 e 的 x 次幂(ex),如 math.exp(1) 返回 2.718281828459045
log(x) 如 math.log(math.e)返回 1.0,math.log(100,10)返回 2.0
log10(x) 返回以 10 为基数的 x 的对数, 如 math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值, 参数可以为序列
min(x1, x2,...) 返回给定参数的最小值, 参数可以为序列
modf(x) 返回 x 的整数部分与小数部分, 两部分的数值符号与 x 相同, 整数部分以浮点型表示
pow(x, y) x**y 运算后的值
round(x [,n]) 返回浮点数 x 的四舍五入值, 如给出 n 值, 则代表舍入到小数点后的位数
sqrt(x) 返回数字 x 的平方根, 数字可以为负数, 返回类型为实数, 如 math.sqrt(4)返回 2+0j

8.1.2 Python 随机数函数

  • random.方法 进行调用
import random
random.方法
函数 描述
choice(seq) 从 序 列 的 元 素 中 随 机 挑 选 一 个 元 素 , 比 如random.choice(range(10)), 从 0 到 9 中随机挑选一个整数
randrange ([start,] stop [,step]) 从指定范围内, 按指定基数递增的集合中获取一个随机数, 基数缺省值为 1 start -- 指定范围内的开始值, 包含在范围内stop -- 指定范围内的结束值, 不包含在范围内step -- 指定递增基数
random() 随机生成下一个实数, 它在[0,1)范围内
seed([x]) 改变随机数生成器的种子 seed,如果你不了解其原理, 你不必特别去设定 seed,Python 会帮你选择 seed
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内

8.1.3 Python 三角函数

  • math.方法 进行调用
import math
math.方法
函数 描述
acos(x) 返回 x 的反余弦弧度值x -- -1 到 1 之间的数值 如果 x 是大于 1, 会产生一个错误
asin(x) 返回 x 的反正弦弧度值<br />x -- -1 到 1 之间的数值 如果 x 是大于 1, 会产生一个错误
atan(x) 返回 x 的反正切弧度值
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值
cos(x) 返回 x 的弧度的余弦值
hypot(x, y) 返回欧几里德范数 sqrt(xx + yy)
sin(x) 返回的 x 弧度的正弦值
tan(x) 返回 x 弧度的正切值
degrees(x) 将弧度转换为角度,如 degrees(math.pi/2) , 返回 90.0
radians(x) 将角度转换为弧度
pi π值
e e值

8.2.1 str字符串

  • 一般字符串表示为 : str="a1a2· · · an"(n>=0)
  • str 表示一个长度为 n 的字符串
  • python 字符串的下标是从 0 开始的, 一直到 n-1 结束
  • "a1a2· · · an"每个字符对应的角标为"0,1,...,n-1"
  • 使用 str[头下标:尾下标], 就可以截取相应的字符串(不包括尾角标的字符, 即含头不含尾)

8.2.2 转义字符

转义字符 描述
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行符
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\012 代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a
\other 其他的字符以普通格式输出

8.2.3 字符串运算符

a = "Hello" , b = "Python"

操作符 描述 实例
+ 字符串连接 >>>a + b
* 重复输出字符串 >>>a * 2
[] 通过索引获取字符串中的字符 >>>a[1]
[:] 截取字符串中的一部分 >>>a[1:4]
in 成员运算符 - 如果字符串中包含给定的字符返回 True >>>"H" in a
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True >>>"M" not in a
%s 格式化字符串的输出.在Python中,字符串格式化使用与C中sprintf函数有一样的语法
%c 格式化字符及其ACSII码
%d 格式化整数
%u 格式化无符号整数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e
%g %f和%e的简写
%G %f和%E的简写
%p 用十六进制格式化变量的地址
%o 格式化无符号八进制数
* 定义宽度或者小数点精度
- 用做左对齐
+ 在整数前面显示加号(+)
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'), 在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

8.2.4 str.format()

# coding=utf-8
print "{} {}".format("hello", "world") # 不设置指定位置, 按默认顺序

print "{0} {1}".format("hello", "world") # 设置指定位置

print "{1} {0} {1}".format("hello", "world") # 设置指定位置

#设置参数
print("网站名: {name}, 地址 {url}".format(name="百度", url="www.baidu.com"))

# 通过字典设置参数
site = {"name": "百度", "url": "www.baidu.com"}
print("网站名: {name}, 地址 {url}".format(**site))

# 通过列表索引设置参数
my_list = ['百度', 'www.baidu.com']
print("网站名: {0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是可选的

结果:

hello world
hello world
world hello world
网站名: 百度, 地址 www.baidu.com
网站名: 百度, 地址 www.baidu.com
网站名: 百度, 地址 www.baidu.com

8.2.5 Unicode 字符串

  • 引号前小写的"u"表示这里创建的是一个 Unicode 字符串。 如果你想加入一个特殊字符, 可以使用 Python 的
    Unicode-Escape 编码。 如下例所示:

    print u'Hello\u0020World !'
    Hello World !
    被替换的 \u0020 标识表示在给定位置插入编码值为 0x0020 的 Unicode 字符(空格符) 。
    
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,030评论 5 464
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,198评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 144,995评论 0 327
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,973评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,869评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,766评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,967评论 3 388
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,599评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,886评论 1 293
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,901评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,728评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,504评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,967评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,128评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,445评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,018评论 2 343
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,224评论 2 339

推荐阅读更多精彩内容

  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,774评论 2 16
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,696评论 0 10
  • 一、PyCharm的基本使用1.1、注释:为了方便自己或者其他人查看单行注释:用 # 号单行注释多行注释: 用 ...
    IIronMan阅读 8,824评论 3 18
  • .青玉案 借问蓝蟾愁几许 丁酉腊月十五,赏月萱楼,有记。 人间不似瑶台路。纵日夜,常相聚。玉洁冰清依桂树。月升风后...
    疏影横笛a阅读 703评论 4 4
  • 今天,一口气把罗胖解读的《大国宪制》又听了一遍,大呼过瘾,不仅解决了困扰我多年的几个问题,又给我带来了思考和启发,...
    韩珂的进化之旅阅读 149评论 0 0