程序设计python_Python程序设计—车万翔

程序设计入门—Python

对象和类型

五种基本对象类型

字符串 (string),简记为 str

使用 ’ ’ 或 ” ” 括起来的一系列字符

整数(integer),简记为 int

十进制:21,八进制:025,十六进制:0x15

浮点数(float)

1.48,21.0,21.,.21,2.1E2

布尔数(boolean),简记为 bool

True,False

复数(complex)

1+1j

对象类型

type("小明")-->

type("男")-->

type(15)-->

type(1.48)-->

type(43.2)-->

type("江苏")-->

为什么区分对象类型?

不同类型对象运算规则不同

如:整数的加法和字符串的加法含义不同

不同类型对象在计算机内表示方式不同

5 –> 101,’5’–> 1001101

为何区分整数与浮点数?

浮点数表示能力更强

浮点数有精度损失

1.1 + 1.1 + 1.1=3.300000000003

CPU有专门的浮点数运算部件

强制类型转换

int("123") --> 123

str(123) --> "123"

float("123") --> 123.0

float(123) --> 123.0

bool(123) --> True

bool(0) --> False

运算符

算术运算符(Arithmetic Operators)

FnbMlW9lrEKXjIc4SvRv8XoS5Ql5

2/3=0

3.0/6=0.5

Python 2 中,“/”表示向下取整除(floor division)

两个整数相除,结果也是整数,舍去小数部分

如果有一个数为浮点数,则结果为浮点数

自动类型转换

若参与运算的两个对象的类型同,则结果类型不变

如:1 / 2 = 0

若参与运算的两个对象的类型不同,则按照以下规则进行自动类型转换

bool –> int –> float –> complex

1.0 + 3=4.0

True + 3.0 = 4.0

求余运算符

求余运算符(%)

如:10 % 3 = 1

应用

若今天是星期六,则10天后是星期几?

(6 + 10) % 7 = 2

判断一个数 x 是否为偶数

x % 2 是否等于 0

math 模块

模块(module)

实现一定的功能的 Python 脚本集合

引入模块

import module_name

math模块

import math

查看模块内容

dir(math)

查看帮助

“`

help(math.sin)

dir(math)

[‘doc‘, ‘file‘, ‘name‘, ‘package‘, ‘acos’,

‘acosh’, ‘asin’, ‘asinh’, ‘atan’, ‘atan2’, ‘atanh’, ‘ceil’,

‘copysign’, ‘cos’, ‘cosh’, ‘degrees’, ‘e’, ‘erf’, ‘erfc’, ‘exp’,

‘expm1’, ‘fabs’, ‘factorial’, ‘floor’, ‘fmod’, ‘frexp’, ‘fsum’,

‘gamma’, ‘hypot’, ‘isinf’, ‘isnan’, ‘ldexp’, ‘lgamma’,

‘log’, ‘log10’, ‘log1p’, ‘modf’, ‘pi’, ‘pow’, ‘radians’, ‘sin’,

‘sinh’, ‘sqrt’, ‘tan’, ‘tanh’, ‘trunc’]

“`

关系运算符(Relational Operators)

判断一个数 x 是否为偶数

x % 2 是否等于 0

x % 2 == 0

若为True,则 x 为偶数

若为False,则 x 为奇数

用于判断两个值的关系

大小、相等或不相等

运算的结果只有两种(布尔型)

若结果为True,表示条件成立

若结果为False,表示条件不成立

Fn1UtGA3FpM9XCYps1KZgPHxIyvK

逻辑运算符(Logical Operators)

FriksFQpCGV-px2aSzVY5Ob29rlD

运算符优先级

看看下面两个表达式

2 * 1 + 3 先乘后加

2 * (1+3) 先加后乘

括号()

改变了语言内在的默认优先级

具有最高优先级

嵌套括号按照由内而外结合

(2 * (1 + 2))**2 == 36

2 * (1 + 2)**2 == 18

Fq5QKXcnF30Osz9342LHyzW94cQm

变量

FlNp4pjZldNXPn0WMYWF8A1Uvq_t

FrZ1me7AyZle6gixjz_qosuB5DFY

FpZH_c8s6iPI9Q8yhJM7oAkr8vKj

FrK5HRttEhtg0wjFb1CRuVq2D-4x

FpQCSWZCzyxvRICxSHcBPHUtKG2W

程序控制结构

程序流程图

Ft_-PN8ZTDfZv6zExRI85moqABjo

Fv2lW_ZVGO-ZAMgaSgarQoKFMTzX

判断语句

FrIryncqUpGP-UnfO7PTsOCJzeB-

FqyEz7a98U5uBsbb-NF0IdtoKGkE

FjJQ4_iV6YjT7x0i2I7OVyECsHeh

FhhCzkH-kdDMgzUjeL0u19ZUV8C1

Fvtsq2OUULpGjfmasi4yEZewT0Lo

示例

Fl_mFP1NxLVkdP9uxmV5PQRosD83

FrcSGzH3YaNYYXRwwJTs-g-1N33b

FtmMssuqqPChSwVRyqXUwAmSuYfC

Fpda4Rp2aEnZqyRow84mBA3Mbdkp

FrbKL70V_YgWUYuToZiatrnt8-e3

Fty9eHUJhC0ao6e9bPZUSgszyiTr

FtAf8VOTYCWVt1u_kT1EvDNE1ai4

循环结构

While循环结构

FtLek8ZmJhy-nuXhqakq30hqVgd0

FgH0d8rm5JDxdtbZ-i8_Y50q1Gcs

FqctDlhWVUlwt2ijC-JvQJsJ9uTu

Fqwh7o29unbMsDsP3n9C2SB1o3ei

FkplGcyF3OgGW4D3A2Jryk-Mq34x

Fvxb9E0j9bmRPMWhtbnc5RMX3j14

FvqcUUr3pwvmL39VQV7UBQf8bGi-

break continue 语句

Fu0fg4ydCDGUIOf4LIZrb2F4JKo6

FiVXTR7c663znFMHOmbdv7sZThmu

for循环结构

FsJISdonQk5PZQOk3eW6C2_bVYu1

FlsRQgYXXXmeR8ZTtZPOA-DSB-UG

FusIK22qUk6MtenOJAa_rp-RK1EG

FgC7mEaQg4uk5td4UqO1QkOIjyM7

FjwCm8btY791QbpfAw0pAE8ciwEI

for n in range(1, 100):

while n !=1:

if n%2 == 0:

n /=2

else:

n = 3*n +1

print n,

print n, 表示是打印在同一行中。

FtdYxjZuvg9Ll8m79Si-yK5TsURc

print format 右对齐

Fr9gthQuWgN7Y9S4qkYWUqcd4y02

While VS for 循环

FgiR5h2hha5fYZG1XYpgbEMHhpV0

FidKhFVA1sgn_hwyn-yOwap6a1ru

Fr1gadhNdjgIcKJzwHCddkUTmfxP

Fh6f-gGRc_g9L6Pn7IEPn5MZQOVF

FkIhVkdIoWYBodvx71INVs961Sks

FhH2OWzfrIrl4bjS1NHiSJBHdpu6

函数

FoTU1gKM_YUnCCGiyXf9asC1ejXZ

FtPxLyS9mqkp5VUvs0ErneI4qbYE

Fk8UE16GoiNKiz3HPG5PSHFbZ0Bg

缺省参数

Fg6jaH4fe-_V9cd9oXMTQ6dVTlca

有返回值函数

Fga1jKxNkih0LwuWH7p3N-vhx1UG

局部变量和全局变量 global

FvqcpynwbaPWMFROlntjSb3f-dDW

FudqcG32mTxuka8g57JUuQitV4EN

FrAfejAvAu8T2xcQbQJ9eIhBZNMF

FqQcW8-a0EWEPmej4XdryjKzYd-9

FpFgxvP2tHe6kfodht0HZTSgMfaE

def is_leap_year(year):

if year %4 ==0 and year %100 !=0 or year % 400 ==0:

return True

else:

return False

def get_num_of_days_in_month(year, month):

if month in (1, 3, 5, 7, 8, 10, 12):

return 31

elif month in (4, 6, 9, 11):

return 30

elif is_leap_year(year):

return 29

else:

return 28

def get_total_num_of_day(year, month):

days = 0

for y in range(1800, year):

days +=366

else:

days +=365

for m in range(1, month):

days += get_num_of_days_in_month(year, m)

return days

def get_start_day(year, month):

return 3+ get_total_num_of_days(year, month) %7

print get_start_day(2033, 12)

递归函数

FrEB-U6fsUCmQjLqQOQHiMEEsTTy

FqaMGKZw6-619nE_MXYsUgfmvIrg

FjWMkjt8vAVXS6R_3AEuba02bkR0

FgQg7QY3LCLpcVqZqnseCpbp9_2W

FpoTsVuGyLsadTqfA7SXbXK6LapD

FqQtmQtWY7w1gn9FfPLRLScdCWV2

Fmx756Gl39_29_F95thuAc3RFrMv

FnteC38sPpuQfNy71VMXsgjm-goh

FlygSr3L9XSL2x8okZZoVQXPpt20

FjzcsurTo0_6k5m2kTP5bd_QQMLR

Fia9kPCb3GTc3IvtsDLxdOnUkCGM

Fq16_WDiqWg8IrpTaozwNjXz6JY9

字符串

Fh8g4C5xcbYbdXo-MofeVUgfnJOk

FihzNPNr1JRWWvanqDdqLgatS7ot

FrFS7il1UzWHblCyT0_cuOxBGFc2

FkJuPcShzLvQ2pvDLGobVp6_YLOT

字符串是不可变的

FvqoVkY2zfOGLSW4toGwPB0tzuhb

FoCplBuUQWty7As_RS6b9R_-R82k

FqvMm1VG3b56Uq8adP8OmzNsgYaG

示例: 人名游戏

FhEVJvIS58rkBawHVWi-fpfU8SEV

FmSRj3thBe3gFTOFMZQc5ZlP944k

Fuq3750kon_mYOOql2xmHg95uN-A

字符串比较

FlaFBrEdQhdaYa5fFcfYGkQJ9tU5

FjAw0hriiqmSCmgYcrSdY5lMYEeN

字符串格式化

FvNxOj867GQ--oixGEQHTJQQY-6_

正则表达式

FkI51Z54ZwX-KyBZ9VB0R8HzhXYC

FhXhfsfHsCUKwEjm96YTHS9rdV9S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值